2

私はここで本当に迷っています。

各xmlファイルが各タブ用である3つのXMLファイルを使用するアプリケーションがあります(アプリには3つのタブがあります)。タブの 1 つの下にボタンがあり、それをクリックすると、連絡先アプリケーションから名前と番号を取得し、そのタブの画面に印刷することを意味していました。これは、データベースに接続して名前を取得することによって行われます。連絡先アプリから選択された後の番号。それらはすべて正常に動作します。

しかし、プロセスの後、データを取得し、tb3 の下でテキストビューの値を設定すると、メインの 3 つのタブが消え、3 つの異なる XML ファイルがすべて一緒に結合されます。

何をすべきか知っている人はいますか?チュートリアルはありますか?

誰かがFragmentmanagerを提案しましたが、それを使用する方法がわかりませんか?

お願いします、誰かこれを手伝ってください。

タブを表示するメイン アクティビティのコードは次のとおりです。

public class MainActivity extends TabActivity {

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

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    Button addbutton = (Button) findViewById(R.id.addButton);


    tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1",
            res.getDrawable(R.drawable.tab1)).setContent(R.id.tab1Layout));

    tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("tab2",
            res.getDrawable(R.drawable.tab2)).setContent(R.id.tab2Layout));

    tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab3",
            res.getDrawable(R.drawable.tab3)).setContent(R.id.tab3));

    tabHost.setCurrentTab(2);

    addbutton .setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 

        Intent intent = new Intent(MyActivity.this,ContactsDemo.class); 

        MainActivity.this.startActivityForResult(intent,1); 

        } 

        }); 

}  

}

これは、myActivity を開き、MainActivity に戻ることを想定しています。しかし、他のアクティビティをロードすると、3 つのタブがすべて消え、3 つの xml ファイルがすべて結合されます。

4

1 に答える 1

0

あなたの情報を考えると、それaddButtonButtonあなたのタブの1つにあり、元のタブまたは他の2つのタブの1つに戻りたいとしか思えません。私は同様のアプリを構築しましたstartActivityForResult().tb3について言及したので、これは良いスタートになるので、-callをタブアクティビティの1つに配置する必要があると思います. startActivity()or startActivityForResult()-callを実行して、この新しいアクティビティを閉じるか、ユーザーが [戻る] ボタンを押すと、タブ リボンが表示された状態でタブに戻ります。

お役に立てれば。

于 2012-07-23T12:39:14.533 に答える