2011-07-10 6 views
0

アンドロイド:関係 - 私はフォローのように、二つのタブを使用してアプリケーションを作成したい

MainClass:

private TabHost tabHost; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tabHost = (TabHost)findViewById(android.R.id.tabhost); 

    TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); 
    TabSpec secondTabSpec = tabHost.newTabSpec("tid2"); 

    firstTabSpec.setIndicator("First Tab Name").setContent(new Intent(this,MainTab.class)); 
    secondTabSpec.setIndicator("Second Tab Name").setContent(new Intent(this,ResultTab.class)); 

    tabHost.addTab(firstTabSpec); 
    tabHost.addTab(secondTabSpec); 
} 

public TabHost getTabHost() { 
    return tabHost; 
} 

FirstTab:

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.maintab); 
    } 

SecondTab:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.resulttab); 
} 

最初のタブ私はいくつかのボタンを持っていて、私は数学演算を計算します。計算が終了したらSecondTabに結果を表示したい。

最初の問題: FirstTabからSecondTabにデータ(String)を送信するにはどうすればよいですか。 Iは、トレイ:タブクラスの自己パラメータを作成

  • setOnTabChangedList
  • と一部類似 が、結果はありません。

(今の小さな:))第二の問題: 私はFirstTab上のいくつかのパラメータ(私のボタン、リスト、...)を選択してSelectTabにビューを変更し、FirstTabに戻すには、パラメータがなくなっている選択しました。

誰でも手伝ってください。

答えて

1
  1. インテントで文字列を送信できます。例:

    意図インテント=新しいインテント()。setClass(this、Secondtabclass.class); intent.putExtra( "mykey"、 "送信する文字列");

    startActivity(intent);あなたがrecieving活性に

そして:

String recievedString = this.getIntent().getStringExtra("mykey"); 
  1. あなたはOnResumeとOnPauseメソッドをオーバーライドする場合は、あなたのリストの状態と、何でもあなたが好きを救うことができます。あなたのアクティビティがフォーカスを失うたびにポーズが呼び出され、アクティビティがフォーカスを再開するたびにレジュームが呼び出されます。このように:

    @Override protected void onResume(){ super.onResume();

    //Do stuff 
    } 
    
+0

はどうもありがとうございました – Kolesar

関連する問題