我在AlertDialog上加进去了一个listview,画面都没有问题,但是如何响应listview的点击事件呢?我试了好几次,老是不行,有谁知道。
看你的是哪种了,你自己看看下面我刚写的
private AlertDialog mDialog;
private String[] mData = new String[26];
/**
* <b>第一种</b>
*
*/
public void alertDialog1(Context pContext) {
for (int i = 0; i < 26; i++) {
mData[i] = String.valueOf((char) (i + 97));
}
ArrayAdapter<String> _adapter = new ArrayAdapter<String>(pContext,
android.R.layout.simple_dropdown_item_1line, mData);
mDialog = new AlertDialog.Builder(this).setAdapter(_adapter,
new OnClickListener() {
// TODO 创建listview
@Override
public void onClick(DialogInterface pDialog, int pWhich) {
// TODO
}
}).create();
mDialog.getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> pParent, View pView,
int pPosition, long pId) {
// TODO
Toast.makeText(MainActivity.this, mData[pPosition],
Toast.LENGTH_SHORT).show();
}
});
mDialog.show();
}
/**
* <b>第二种</b>
*
*/
public void alertDialog2(Context pContext) {
for (int i = 0; i < 26; i++) {
mData[i] = String.valueOf((char) (i + 97));
}
ArrayAdapter<String> _adapter = new ArrayAdapter<String>(pContext,
android.R.layout.simple_dropdown_item_1line, mData);
ListView _lv = new ListView(pContext);
_lv.setAdapter(_adapter);
mDialog = new AlertDialog.Builder(this).create();
mDialog.setView(_lv);
;
_lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> pParent, View pView,
int pPosition, long pId) {
// TODO
Toast.makeText(MainActivity.this, mData[pPosition],
Toast.LENGTH_SHORT).show();
mDialog.dismiss();
}
});
mDialog.show();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。