我有一个带有三个相同按钮和三个相同文本视图的活动。每个按钮 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并实现了可过滤功能
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只会增加代码行数
将“int resid”参数添加到类的构造函数中。使用“new PickerDialogFragment(R.id.button1);”实例化您的对话框。使用 findViewById 中的 resid 来获取按钮实例并设置其文本。