ein XML-Layout erstellen ersten res/layout/main.xml
Ordner in Ihrem Projekt:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/addBtn"
android:text="Add New Item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="addItems"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>
</LinearLayout>
Dieses mit einem Knopf auf der Oberseite und eine Listenansicht auf der Unterseite ein einfaches Layout ist. Beachten Sie, dass die ListView
die ID @android:id/list
hat, die den Standard ListView
ein ListActivity
verwenden kann.
public class ListViewDemo extends ListActivity {
//LIST OF ARRAY STRINGS WHICH WILL SERVE AS LIST ITEMS
ArrayList<String> listItems=new ArrayList<String>();
//DEFINING A STRING ADAPTER WHICH WILL HANDLE THE DATA OF THE LISTVIEW
ArrayAdapter<String> adapter;
//RECORDING HOW MANY TIMES THE BUTTON HAS BEEN CLICKED
int clickCounter=0;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
listItems);
setListAdapter(adapter);
}
//METHOD WHICH WILL HANDLE DYNAMIC INSERTION
public void addItems(View v) {
listItems.add("Clicked : "+clickCounter++);
adapter.notifyDataSetChanged();
}
}
android.R.layout.simple_list_item_1
ist das Standard-Listenelement-Layout von Android geliefert, und Sie können dieses Lager-Layout für nicht-komplexe Dinge verwenden.
listItems
ist eine Liste, die die in der ListView angezeigten Daten enthält. Das gesamte Einsetzen und Entfernen sollte unter listItems
erfolgen; Die Änderungen in listItems
sollten sich in der Ansicht widerspiegeln. Das ist von ArrayAdapter<String> adapter
behandelt, die unter Verwendung benachrichtigt werden soll:
adapter.notifyDataSetChanged();
Ein Adapter instanziiert mit 3 Parametern: Rahmen, die Ihre activity/listactivity
sein könnte; das Layout Ihres individuellen Listeneintrags; und schließlich die Liste, welche die tatsächlichen Daten sind, die in der Liste angezeigt werden sollen.
Die derzeit höchsten gestimmt Antwort von Shardul ist hohe Qualität und Anwender betrachtet haben drückten sie fühlen es akzeptiert werden sollte. Können Sie es akzeptieren? – Welkie