页面上有两个edittext: etName和etAge ,一个button:btsave ,一个listview上有两个textview:tvName,tvAge
现在我想点击btsave后将editbox里的数据新增显示到listview里,该怎么实现?
看了好多资料 但是写的都很乱,请各位大侠帮助写下代码,小弟不胜感激

解决方案 »

  1.   

    把界面两个EditText里面获取到得值添加到绑定的数据源集合里面去,然后用adapter.notifyDataChanged()方法来重新加载修改后的数据源就可以达到往LISTVIEW里面添加内容的目的了。
      

  2.   

    main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:orientation="vertical"
        android:padding="8dip"
        android:layout_height="fill_parent"
        >
       <ListView
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:id="@+id/list"/>
       <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etName"/>
       <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etAge"/>
       <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btsave"
        android:text="Save"/>
    </LinearLayout>items.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:orientation="vertical"
      android:layout_height="fill_parent">
      <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/tvName"
       android:text="name"
       android:textSize="25dip"/>
      <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="age"
       android:textSize="17dip"
       android:id="@+id/tvAge"/>
    </LinearLayout>
    Activity
    public class csdn extends Activity implements OnClickListener {
        /** Called when the activity is first created. */
    private ListView list=null;
    private EditText etName=null;
    private EditText etAge=null;
    private Button btn=null;
    private List<String> names=null;
    private List<String> ages=null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            initActivity();
        }
    private void initActivity() {
    // TODO Auto-generated method stub
    list=(ListView)findViewById(R.id.list);
    etName=(EditText)findViewById(R.id.etName);
    etAge=(EditText)findViewById(R.id.etAge);
    btn=(Button)findViewById(R.id.btsave);
    btn.setOnClickListener(this);
    names=new ArrayList<String>();
    ages=new ArrayList<String>();
    }
    private void setAdapter(){
    List<HashMap<String,String>> lists=new ArrayList<HashMap<String,String>>();
    for(int i=0;i<names.size();i++){
    HashMap<String,String> map=new HashMap<String,String>();
    map.put("name", names.get(i));
    map.put("age", ages.get(i));
    lists.add(map);
    }
    String[] from={"name","age"};
    int[] to={R.id.tvName,R.id.tvAge};
    SimpleAdapter adapter=new SimpleAdapter(this, lists, R.layout.items, from, to);
    list.setAdapter(adapter);
    }
    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
        names.add(etName.getText().toString());
        ages.add(etAge.getText().toString());
        etName.setText("");
        etAge.setText("");
        setAdapter();
    }
    }
      

  3.   

    把界面上的值抓下来,写到list,在给list添加适配器,显示到界面上。就行了
      

  4.   

    你先搞定怎么讓LISTVIEW顯示值
    你就知道怎么做了
      

  5.   

    activity的生命周期问题嘛 直接在activiy的onstart()方法中写上listView更新显示的代码就行了 每次添加完就能直接显示