Android开发中动态添加lsitView 代码实例 TextView notifyDataSetChanged

分类:手机开发| 发布:佚名| 查看: | 发表时间:2014/11/25

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

  唤醒一下,其实这个唤醒也就是在button下用 或者在别的控件下调用 如果是在getView下就不必了
java代码:
  public class DynamicListItems extends ListActivity {
  private static final String ITEM_KEY = "key";// @camnpr
  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");
  }
  }
  };
  }
  }
Java代码:
  <?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>
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/mobile-dev/1754.html