解决方案 »
- 在一个activity里怎么独立管理两组fragment的后退栈
- ExpandableListView 拉动或关闭group,child被刷新了!!!求救
- Mp3中OnResume怎样放回onServiceConnected对象
- android listview 点击内容增加
- 如何在PC端实现短信、通信录、通话记录等信息的备份?
- 网络传输String对象
- source not found问题
- 手机安全产品最应被关注的功能
- ART JNI調用中的art_jni_dlsym_lookup_stub入口處在哪裡
- 【求助】安卓程序如何一直进行后台监控不被杀死
- 自定义gridview的问题
- Andriod Atom x86模拟器启动报错。网上的教程都旧了。跟新版完全不一样啊。怎么处理?
如果是单独放在一个xml文件里是可以正常显示的。不过我就是需要在按钮下有一个ListView并可以动态跟新ListView里面的内容。。这个可以怎么做?
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;
}
}
}