Frage

Ich habe eine App mit 2 Registerkarten, die erste ist eine Listansicht, und das zweite, das ich versuche, eine Textansicht zu erstellen. Das Problem ist, dass ich keine Ahnung habe, wie das Textview angezeigt werden kann. Die ListView funktioniert, aber ich kann überhaupt nichts in der Textansicht bekommen. Ich habe versucht, die Hello, World zu verwenden, um zu versuchen, mit dem Text in die Registerkarte zu arbeiten, aber ich kann es nicht herausfinden.

Mein main.xml -Abschnitt mit dem tabwidget sieht so aus:

    <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <ListView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/itemlist" />
            <TextView 
                android:id="@+id/HelloAndroid"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"/>
        </FrameLayout>

ListView wird in der Java -Datei mit dem MtabHost -Code verwendet.

        TabHost mTabHost = getTabHost();

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Answer").setContent(R.id.itemlist));
    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));

    mTabHost.setCurrentTab(0);
}

Der Textview befindet sich in einer anderen Datei namens HelloAndroid.java, und der Code sieht aus wie:

public class HelloAndroid extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }
}

Wie kann ich es so beheben, dass die 2. Registerkarte den Beispieltext zur Sprache bringt? Vielen Dank!

War es hilfreich?

Lösung

Wenn ich richtig verstehe, möchten Sie die HelloAndroid -Aktivität als Inhalt der Registerkarte "Second" anzeigen. Wenn ich Recht habe, anstelle dessen:


    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));
 

Sie sollten das nennen:


 Intent i = new Intent(this, HelloAndroid.class);
 mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(i));
 

Sie müssen jedoch berücksichtigen, dass Ihre Helloandroid -Aktivität mit TextView in Ihrer Layout -Datei nichts gemeinsam hat. Wahrscheinlich wäre es wahrscheinlich besser, die Aktivität nicht als Registerkarteninhalt festzulegen, sondern den Wert der Textansicht aus Ihrer Layout -Datei zu ändern.

Ps. Denken Sie daran, Ihre HelloAndroid -Aktivität zu manifest.xml zu setzen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top