In ExpandableListView auf eine Registerkarte mit anderen Elementen
-
08-10-2019 - |
Frage
Ich entwickle eine App mit Tabs. Auf einer der Vorsprünge,
Ich habe zwei EditText
Felder und ein paar Tasten. Ich möchte eine ExpandableListView
hinzufügen
auf die Lasche unter dem Rest der Elemente,.
Mein Problem ist, dass die aktuelle Klasse Activity
erstreckt. All das Beispiel habe ich ExpandableListActivity
gefunden erweitern, aber ich kann nicht beide für die gleiche Klasse erweitern.
Wie kann ich diese Liste auf die Registerkarte hinzu? Ich habe ein ExpandableListView
Element in der XML
Datei hinzugefügt, aber wenn ich es laufen, ist es nicht angezeigt. Ich verstehe, dass ich die Ansicht auf bestimmte Daten zu binden, aber wie gehe ich über das tun dies?
Danke.
Hier ist meine Klasse Code:
public class DirectionsTab extends Activity
{
private Button clear_btn;
private Button go_btn;
private EditText origin_txt;
private EditText dest_txt;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.directions_tab);
// initialize views and onClick event handler
origin_txt = (EditText)findViewById(R.id.origin_txt);
dest_txt = (EditText)findViewById(R.id.dest_txt);
clear_btn = (Button)findViewById(R.id.clear_btn);
// clear all text fields and return focus to dest_txt
clear_btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
origin_txt.setText("");
dest_txt.setText("");
origin_txt.requestFocus();
}
});
} // end public void onCreate(Bundle savedInstanceState)
} // end public class DirectionsTab extends Activity
und XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/origin_lbl"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Origin"/>
<EditText
android:id="@+id/origin_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_below="@id/origin_lbl"/>
<TextView
android:id="@+id/dest_lbl"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/origin_txt"
android:text="Destination" />
<EditText
android:id="@+id/dest_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_below="@id/dest_lbl" />
<ExpandableListView
android:id="@+id/listView"
android:layout_below="@+id/dest_txt"
android:layout_height="wrap_content"
android:layout_width="wrap_content" /><!--android:id="@android:id/list"-->
<Button style="?android:attr/buttonStyleSmall"
android:id="@+id/clear_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/dest_txt"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:text="Clear" />
<Button style="?android:attr/buttonStyleSmall"
android:id="@+id/go_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/clear_btn"
android:layout_alignTop="@id/clear_btn"
android:text="Go!" />
</RelativeLayout>
Lösung
Ich habe dies !, Wenn jemand Probleme mit diesem haben, stellen Sie sicher, folgen Sie diese Schritte:
- Kopieren und Einfügen ExpandableList3 Beispiel (in ApiDemos befindet Projekt von Samples-Ordner in Ihrem Android-SDK). Dies ist nur ein Beispiel dafür, wie eine Liste einzurichten.
- Machen Sie Ihre Klasse vererben ExpandableListActivity
-
Erstellen Sie die folgende in Ihrer XML-Layout-Datei:
<ExpandableListView android:id="@android:id/list" android:layout_below="@+id/go_btn" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"/>
Es ist sehr wichtig, dass die ID-Eigenschaft übereinstimmt, was Sie oben sehen, sonst nichts funktioniert. Dieses kleine Detail viele Stunden für mich verschwendete und war ordentlich wie ein kleines Detail in dem Android-docs entdeckt Sitz.