这里你只要注意ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();的使用就可以了,想要动态添加 这个对象是不能缺少的。
public class CustomList extends ListActivity
{
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
private static final int ADD_ITEM_ID = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
notes = new SimpleAdapter(
this,
list,
R.layout.main_item_two_line_row,
new String[] { "line1","line2" },
new int[] { R.id.text1, R.id.text2 } );
setListAdapter( notes );
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, ADD_ITEM_ID, Menu.NONE, R.string.add_item );
return result;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch ( item.getItemId() ) {
case ADD_ITEM_ID:
addItem();
break;
}
return super.onOptionsItemSelected(item);
}
private void addItem() {
long ts = System.currentTimeMillis();
int lastDigit = (int)( ts % 10 );
HashMap<String,String> item = new HashMap<String,String>();
item.put( "line1",Long.toString( ts ) );
item.put( "line2","lastDigit: "+Integer.toString( lastDigit ) );
list.add( item );
notes.notifyDataSetChanged();
}
private SimpleAdapter notes;
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/text1"
android:textSize="16px"
android:textStyle="bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text2"
android:textSize="12px"
android:textStyle="italic"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
maiin
<?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"
>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/main_no_items"/>
</LinearLayout>