当前位置: 代码迷 >> Android >> 在ListView中添加按钮弹出Dialog后的更新有关问题
  详细解决方案

在ListView中添加按钮弹出Dialog后的更新有关问题

热度:58   发布时间:2016-05-01 21:24:10.0
在ListView中添加按钮弹出Dialog后的更新问题
需求是这样:
在ListView中我加了一个Button,要求点击Button后弹出一个Dialog选择框,在选择并点击确认后,更新数据库并刷新ListView的中的title 栏位.
但是由于这个Button的onClick事件是在继承自SimpleAdapter类的 MySimpleAdapter中处理的,MySimpleAdapter大致如下
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
  View view = super.getView(position, convertView, parent);
  Button btn = (Button)view.findViewById(R.id.btn_process); 
  btn.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
  AlertDialog.Builder dlg = new AlertDialog.Builder(context); //context在构造时保存
  dlg.setTitle("请输入");
  final String []items ={"选项1","选项2"};
  dlg.setSingleChoiceItems(items , 0, new  
  android.content.DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, items[which], Toast.LENGTH_SHORT).show(); //在此能够显示所选择的内容
}
});
  dlg.setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {

}
});
  ...
  dlg.show();
  }
  }
}
...
现在的问题是我如何更新数据库呢?难道在Adapter中直接去操作数据库么?
更麻烦的是我如何让ListView刷新呢?
以上
  感谢

------解决方案--------------------
第一个问题不知道怎么解决
刷新listview 可以试试在使用适配器的对象的notifyDataSetChanged()方法刷新
------解决方案--------------------
public void onClick(DialogInterface dialog, int which) {
 更新数据库的代码。。。
}
说实在,你这个问题难度为0,拜托加点难度。
------解决方案--------------------
Java code
dlg.setPositiveButton("确定", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {//更新数据库代码,如果耗时长请使用线程更新}});
  相关解决方案