80,472
社区成员




public class Activity1 extends Activity {
private MySimpleAdapter adapter;
private ListView listView;
private List<Map<String, Object>> list;
public static Activity1 ma;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ma=this;
list=new ArrayList<Map<String,Object>>();
listView=new ListView(this);
list=getData();
adapter=new MySimpleAdapter(this, list, R.layout.main_listviewc, new String[]{"item1_imageivew", "item1_bigtv", "item1_smalltv"}, new int[]{R.id.iv, R.id.bigtv, R.id.smalltv});
listView.setAdapter(adapter);
this.setContentView(listView);
}
public void addListener(View converView,final int position){
((Button)converView.findViewById(R.id.btn)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
// TODO Auto-generated method stub
LayoutInflater inflater=LayoutInflater.from(ListViewAdapterC.ma);
final View dialogView=inflater.inflate(R.layout.main_alertdialog, null);
AlertDialog alertDialog=new AlertDialog.Builder(ListViewAdapterC.ma)
.setTitle("修改学生考勤数据")
.setView(dialogView)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
RadioButton rA=(RadioButton)dialogView.findViewById(R.id.rdoAttendance);
if(rA.isChecked()){
ModifyList(position, 3);
}
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).create();
alertDialog.show();
}
});
notifyDataSetChanged();
}
ImageView[] mImageViews = new ImageView[] {
R.drawable.正常,
R.drawable.迟到,
R.drawable.早退,
R.drawable.旷课,
};
有两种方法:
1、像你说的,你的ListView数据存在List<map<String,Object>>,点击确定后,修改了List数据,调用notifyDataSetChange() (或者如果楼主用的是ArrayAdapter,那就先clear,再add)
2、直接在getView函数中,修改按钮采用匿名内部类实现OnClickListener接口,点击确定后,获取到设置的index值(整型索引从0开始,设置为迟到索引值就是1,早退就是2),并且ImageView控件的引用肯定是获取到了,直接设置图片imageView.setImageResources(mImageViews[index]);