【发布时间】:2015-04-05 21:26:49
【问题描述】:
我有一个包含三个相同按钮和三个相同 TextView 的 Activity。每个按钮 onClick 通过以下代码调用一个 AlertDialog:
PickerDialog = new PickerDialogFragment();
PickerDialog.show(getSupportFragmentManager(), "PickerDialog");
我的 AlertDialog 有一个带有 addTextChangedListener 的 EditText
searchText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
adapter.getFilter().filter(s);
adapter.notifyDataSetChanged();
}
@Override
public void afterTextChanged(Editable s) {
}
});
listview 适配器扩展了 cursoradapter 并实现了可过滤
listView.setTextFilterEnabled(true);
adapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
return dbHelper.filterCodes(db, constraint); //returns a cursor
}
});
我想要实现的是从 AlertDialog 内的 Listview 中直接更改用户选择值上的按钮文本。
除此之外,如果可能的话,我想用用户从过滤列表中选择的值设置edittext的值,然后单击肯定按钮我会设置每个按钮的值
所以我的问题是 listview.onItemClickListener 和 builder.setPositiveButton 和 builder.setNegativeButton 里面有什么
我也无法识别哪个按钮调用了 AlertDialog,并且为每个按钮制作不同的 alertdialog 只会增加代码行数
【问题讨论】:
标签: android listview android-listview android-alertdialog android-filterable