Java 如何在Android中选择项目后关闭弹出列表视图
尝试在单击某个项目后关闭列表视图。Java 如何在Android中选择项目后关闭弹出列表视图,java,android,sqlite,listview,Java,Android,Sqlite,Listview,尝试在单击某个项目后关闭列表视图。listview会弹出一个项目列表,我单击一个项目后,它会停留在那里。是否有类似于dialog.dismise()或列表视图的内容 final ListView lvUser = new ListView(this); userList = tmDB.getAllUsers(); final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.
listview
会弹出一个项目列表,我单击一个项目后,它会停留在那里。是否有类似于dialog.dismise()
或列表视图的内容
final ListView lvUser = new ListView(this);
userList = tmDB.getAllUsers();
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.selectUser);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, userList);
lvUser.setAdapter(arrayAdapter);
builder.setView(lvUser);
//when user selects item
lvUser.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String name = userList.get(position);
int userID;
userID = tmDB.getUserId(name);
txtName.setText(name);
// close the list view after selecting an item
}
});
final ListView lvUser=new ListView(此);
userList=tmDB.getAllUsers();
final AlertDialog.Builder=新建AlertDialog.Builder(此);
builder.setTitle(R.string.selectUser);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u list\u item\u 1,userList);
lvUser.setAdapter(arrayAdapter);
builder.setView(lvUser);
//当用户选择项目时
lvUser.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
String name=userList.get(位置);
int用户标识;
userID=tmDB.getUserId(名称);
txtName.setText(名称);
//选择项目后关闭列表视图
}
});
您创建了警报对话框和警报。解除()
final AlertDialog.Builder;
警报对话框警报;
最终ListView lvUser=新ListView(此);
userList=tmDB.getAllUsers();
builder=新建AlertDialog.builder(此);
builder.setTitle(R.string.selectUser);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u list\u item\u 1,userList);
lvUser.setAdapter(arrayAdapter);
//当用户选择项目时
lvUser.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
String name=userList.get(位置);
int用户标识;
userID=tmDB.getUserId(名称);
txtName.setText(名称);
//这个!!
如果(警报!=null){
警惕。解散();
}
}
});
builder.setView(lvUser);
alert=builder.create
alert.show();
AlertDialog.Builder有两个Builder.setPositiveButton和Builder.setNegativeButton()方法来使用它。或者,您需要使用简单对话框来自定义视图。您必须使用
public AlertDialog alertDialog;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.selectUser);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Main3Activity.this, android.R.layout.simple_list_item_1, userList);
lvUser.setAdapter(arrayAdapter);
builder.setView(lvUser);
//when user selects item
lvUser.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String name = userList.get(position);
int userID;
userID = tmDB.getUserId(name);
txtName.setText(name);
// close the list view after selecting an item
alertDialog.dismiss();
}
});
alertDialog = builder.create();
alertDialog.show();
public-AlertDialog-AlertDialog;
final AlertDialog.Builder=新建AlertDialog.Builder(此);
builder.setTitle(R.string.selectUser);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(Main3Activity.this,android.R.layout.simple\u list\u item\u 1,userList);
lvUser.setAdapter(arrayAdapter);
builder.setView(lvUser);
//当用户选择项目时
lvUser.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
String name=userList.get(位置);
int用户标识;
userID=tmDB.getUserId(名称);
txtName.setText(名称);
//选择项目后关闭列表视图
alertDialog.disclose();
}
});
alertDialog=builder.create();
alertDialog.show();
使用AlertDialog实例可以关闭弹出窗口,这是AlertDialog.Builder无法实现的
最终警报对话框;
final AlertDialog.Builder AlertDialog=新建AlertDialog.Builder(LoginScreen.this);
alertDialog.setCancelable(真);
alertDialog.setTitle(“天数列表”)
ListView ListView=新建ListView(getApplicationContext());
最终字符串[]listOfDays={“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”};
final ArrayAdapter ArrayAdapter=新的ArrayAdapter(LoginScreen.this,android.R.layout.simple\u list\u item\u 1,listOfDays);
setAdapter(arrayAdapter);
alertDialog.setView(listView);
dialog=alertDialog.create();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(LoginScreen.this,arrayAdapter.getItem(position)+“CLICKED”,Toast.LENGTH_LONG.show();
dialog.dismise();
}
});
dialog.show();
您是否尝试在listView上关闭对话框单击?请参阅我更新的帖子,它将帮助您提醒对话框。生成器不包含关闭方法编辑代码。警报创建和此警报解除()
public AlertDialog alertDialog;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.selectUser);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Main3Activity.this, android.R.layout.simple_list_item_1, userList);
lvUser.setAdapter(arrayAdapter);
builder.setView(lvUser);
//when user selects item
lvUser.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String name = userList.get(position);
int userID;
userID = tmDB.getUserId(name);
txtName.setText(name);
// close the list view after selecting an item
alertDialog.dismiss();
}
});
alertDialog = builder.create();
alertDialog.show();
ListView listView = new ListView(getApplicationContext());
final String[] listOfDays = {"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"};
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(LoginScreen.this, android.R.layout.simple_list_item_1, listOfDays);
listView.setAdapter(arrayAdapter);
alertDialog.setView(listView);
dialog = alertDialog.create();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(LoginScreen.this,arrayAdapter.getItem(position)+" CLICKED",Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
dialog.show();