0

アクティビティのデフォルト レイアウトである activity_main があります。別のレイアウトのフラグメントを表示する framelayout があります。異なるレイアウトの textview をアクティビティから setText() に接続することは可能ですか? アクティビティからこのフラグメント xml レイアウトに接続する方法は?

activity_main
   frameLayout
      fragment 1 xml
      fragment 2 xml
   /frameLayout

Activit.java

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    dirShow("a");
}


void dirShow(String s) {
    setContentView(R.layout.fragment1);
    textPath = (TextView) findViewById(R.id.path_text);
    textPath.setText(s);
}
4

2 に答える 2

2

アクティビティで setContentView を複数回呼び出すべきではありません。コンテンツ ビューはアクティビティ レイアウト全体です。レイアウトを変更する適切な方法は、フラグメントまたはアクティビティを変更し、新しいアクティビティまたはフラグメントに新しいレイアウトを表示させることです。

レイアウトを変更しようとしていない場合は、必要な TextView を設定した最初のレイアウトに配置してください。レイアウト ファイルを投稿し、何をしようとしているのかをお知らせいただければ、ご希望の実現をお手伝いできる場合があります。

編集:更新された質問を正しく理解している場合は、Fragmentsを使用しています。その場合は、アクティビティの onCreate() 関数の代わりに Fragments onCreateView() 関数で dirShow() 関数を呼び出します。

質問でフラグメントという用語を間違って使用している場合は、それらの使用に切り替えることをお勧めします。

于 2012-12-10T17:33:22.993 に答える
0

includeタグを使用してメインxmlに別のxmlをインクルードし、必要に応じてtextviewにテキストを設定します。

于 2012-12-10T17:28:09.677 に答える