如何从 AlertDialog 中的列表视图获取 onItemclick
How to get onItemclick from listview in a AlertDialog
我有一个 Activity,其中包含三个相同的按钮和三个相同的 TextView。每个按钮 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) {
}
});
列表视图适配器扩展了 cursoradapter 并实现了 filterable
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,为每个按钮制作不同的警报对话框只会增加代码行数
将 'int resid' 参数添加到 class 的构造函数中。使用 'new PickerDialogFragment(R.id.button1);' 实例化您的对话框。在 findViewById 中使用 resid 获取按钮实例并设置其文本。
我有一个 Activity,其中包含三个相同的按钮和三个相同的 TextView。每个按钮 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) {
}
});
列表视图适配器扩展了 cursoradapter 并实现了 filterable
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,为每个按钮制作不同的警报对话框只会增加代码行数
将 'int resid' 参数添加到 class 的构造函数中。使用 'new PickerDialogFragment(R.id.button1);' 实例化您的对话框。在 findViewById 中使用 resid 获取按钮实例并设置其文本。