动态添加lsitView

这个很简单 就是为了说明别忘了adapter.notifyDataSetChanged();

唤醒一下,其实这个唤醒也就是在buutton下用 或者在别的控件下调用 如果是在getView下就不必了

ublic class DynamicListItems extends ListActivity {
	private static final String			ITEM_KEY	= "key";
	ArrayList<HashMap<String, String>>	list		= new ArrayList<HashMap<String, String>>();
	private SimpleAdapter				adapter;
	private EditText					newValue;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.dynamic_list);
		newValue = (EditText) findViewById(R.id.new_value_field);

		setListAdapter(new SimpleAdapter(this, list, R.layout.row, new String[] { ITEM_KEY }, new int[] { R.id.list_value }));
		((ImageButton) findViewById(R.id.button)).setOnClickListener(getBtnClickListener());
	}

	private OnClickListener getBtnClickListener() {
		return new OnClickListener() {
			public void onClick(View view) {
				try {
					HashMap<String, String> item = new HashMap<String, String>();
					item.put(ITEM_KEY, newValue.getText().toString());
					list.add(item);
					adapter.notifyDataSetChanged();
				} catch (NullPointerException e) {
					Log.i("[Dynamic Items]", "Tried to add null value");
				}
			}
		};
	}
}

 

<?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="0px"
	    android:layout_weight="1"
	    android:cacheColorHint="#00000000">
	 </ListView>
  
  
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginTop="6px"
		android:layout_marginBottom="8px"
		android:layout_marginLeft="8px"
		android:layout_marginRight="8px"
		android:background="#00000000">
	    
	    
	   	<ImageButton
	   	android:id="@+id/button" 
	    	android:layout_width="100px"
	    	android:layout_height="100px"
	    	android:src="@android:drawable/ic_menu_add"  />	
	</LinearLayout>    	
     
	<LinearLayout
		android:orientation="vertical"
		android:layout_width="230px"
		android:layout_height="wrap_content"
	 	android:layout_marginTop="8px"
	 	android:layout_marginBottom="8px"
	 	android:layout_marginLeft="0px"
	 	android:layout_marginRight="28px"
	 	android:background="#cccccc00" >
	
		<EditText android:id="@+id/new_value_field"
			android:textColor="#020905"
			android:textSize="18sp"
	      	android:layout_marginTop="6px"
	      	android:layout_marginBottom="8px"
	       	android:layout_marginLeft="12px"
	       	android:layout_marginRight="12px"
	       	android:layout_width="210px"
	       	android:layout_height="wrap_content"
	     
	       	android:layout_weight="1"/>
	
	</LinearLayout>
     
  
</LinearLayout>

 

row

<?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:background="#00000000">
    
    <TextView 
    	android:id="@+id/list_value" 
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    />
</LinearLayout>
			
			

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值