解决方案 »

  1.   

    你把item里的button删掉,放在listview的页面啊
      

  2.   

    你在代码里把那两个button也放在listview里面了,你把SimpleAdapter的代码贴出来看看!
      

  3.   

    楼主的意思是simpleadapter传入的是这个xml,然后动态改变name addr phone?
      

  4.   


    如果是单独放在一个xml文件里是可以正常显示的。不过我就是需要在按钮下有一个ListView并可以动态跟新ListView里面的内容。。这个可以怎么做?
      

  5.   

    你还是不理解adapter啊,在adapter中添加数据就可以更新ui了,ListView的adpater本来就有这个功能,不过一般不用系统的adapter,一般都是继承BaseAdapter,这样要灵活的多。一会我贴个代码给你参考下。
      

  6.   


    import java.util.ArrayList;
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.TextView;public class MainActivity extends Activity {
    private MyAdapter adapter;
    private int count = 0;//测试用变量

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); ListView listview = (ListView) findViewById(R.id.listview);
    adapter = new MyAdapter(this);
    listview.setAdapter(adapter);
    Button button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    adapter.addUser(new User("user" + count, "addr" + count, "1311111111" + count));
    count++;
    }
    });

    } class MyAdapter extends BaseAdapter{
    //存储数据的list
    private ArrayList<User> mList = new ArrayList<User>();
    private Context mContext;

    public MyAdapter(Context context){
    mContext = context;
    }
    //添加user
    public void addUser(User user){
    mList.add(user);
    notifyDataSetChanged();//这句很重要,有了它,就可以刷新加入user后的ui了
    }
    //BaseAdapter的抽象方法需要实现
    public int getCount() {
    return mList.size();
    }
    //BaseAdapter的抽象方法需要实现
    public Object getItem(int position) {
    return mList.get(position);
    }
    //BaseAdapter的抽象方法需要实现
    public long getItemId(int position) {
    return position;
    }
    //BaseAdapter的抽象方法需要实现,显示的每条都是由这个方法得到的
    public View getView(int position, View convertView, ViewGroup parent) {
    User user = mList.get(position);
    //可以用holder进行优化,具体可以网上百度一下
    View view= LayoutInflater.from(mContext).inflate(R.layout.item, null);
    TextView name = (TextView) view.findViewById(R.id.item_name);
    TextView addr = (TextView) view.findViewById(R.id.item_addr);
    TextView phone = (TextView) view.findViewById(R.id.item_phone);

    name.setText(user.getName());
    addr.setText(user.getAddr());
    phone.setText(user.getPhone());

    return view;
    }
    }

    class User{
    private String name;
    private String addr;
    private String phone;

    public User(String name, String addr, String phone){
    this.name = name;
    this.addr = addr;
    this.phone = phone;
    }
    public String getName() {
    return name;
    }
    public String getAddr() {
    return addr;
    }
    public String getPhone() {
    return phone;
    }
    }

    }