80,351
社区成员
发帖
与我相关
我的任务
分享
adapter = new BaseAdapter() {
@Override
//赋值操作都再getview中执行
public View getView(int arg0, View arg1, ViewGroup arg2) {
View view = View.inflate(MainActivity.this, R.layout.listview_item, null);
//例如
Button button = (Button) view.findViewById(R.id.button);
button.setText("赋值");
if (state) {
button.setVisibility(View.VISIBLE);
}else{
button.setVisibility(View.GONE);
}
return view;
}
private ListView lv;
//是否编辑的状态
private boolean state = false;
private BaseAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listview);
//写了一个简单的 并没有做优化 自己做的话需要优化 不会的话百度listview优化
adapter = new BaseAdapter() {
……
}
});
}
[/quote]
非常非常感谢!
但是我自己是下面这样写的:
this.simpleAdapter=new SimpleAdapter(this,this.list,R.layout.zongji_list,
new String[]{"todayorthisyear","datarange","gongji","xiangqin"},
new int[]{R.id.todayorthisyear,R.id.datarange,R.id.gongji,R.id.xiangqin});
这样才可以将要显示的数据加载到listview上,但是你写的new Adapter()就并没有加载这些数据了。我又该怎么样把要显示的数据加载上去呢?private ListView lv;
//是否编辑的状态
private boolean state = false;
private BaseAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listview);
//写了一个简单的 并没有做优化 自己做的话需要优化 不会的话百度listview优化
adapter = new BaseAdapter() {
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
View view = View.inflate(MainActivity.this, R.layout.listview_item, null);
if (state) {
view.findViewById(R.id.button).setVisibility(View.VISIBLE);
}else{
view.findViewById(R.id.button).setVisibility(View.GONE);
}
return view;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public int getCount() {
return 5;
}
};
lv.setAdapter(adapter);
//编辑按钮
findViewById(R.id.button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
state = !state;
//更新
adapter.notifyDataSetChanged();
}
});
}