在我单击项目后尝试关闭列表视图。listview
随附项目列表,然后单击一个项目后,它将留在那里。dialog.dismiss()
是否有类似的东西或listviews
?
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
}
});
您必须使用
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();
alertdialog.builder有两个builder.setpositivebutton和builder.setnegativebutton()使用它。或者您需要使用简单的对话框进行自定义视图。
您创建了警报对话框和alert.dismiss()
final AlertDialog.Builder builder;
AlertDialog alert;
final ListView lvUser = new ListView(this);
userList = tmDB.getAllUsers();
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);
//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);
// This!!
if(alert != null){
alert.dismiss();
}
}
});
builder.setView(lvUser);
alert = builder.create
alert.show();
使用alertdialog实例您可以解散弹出式,您无法通过arlaterdialog.builder
实现最终的警报对话框; final walldialog.builder alertdialog = new AlertDialog.builder(loginscreen.this); AlertDialog.setCanceLable(true); AlertDialog.setTitle("天数");
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();