正如标题所说。我已将 onClickListener 编码到我的 AlertDialog 中,但我不知道如何将 onLongClickListener 放在那里。
这是我的代码:
private void addRecipeMethod() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
adapter = new ArrayAdapter<>(getBaseContext(), android.R.layout.simple_list_item_1, getArrayList("ListOfRecipes"));
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
List<String> list = new ArrayList<>(getArrayList("ListOfRecipes"));
getArrayListRecipes(list.get(which));
List<String> listMain = new ArrayList<>(getArrayList("ListMain"));
listMain.addAll(getArrayListRecipes(list.get(which)));
saveList(listMain, "ListMain");
adapter = new ArrayAdapter<>(getBaseContext(), android.R.layout.simple_list_item_1, getArrayList("ListMain"));
listView.setAdapter(adapter);
//Toast.makeText(getApplicationContext(), "you have clicked " + list.get(which) , Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
PS。单击菜单项时调用 void addRecipeMethod
最佳答案
使用这样的自定义布局创建AlertDialog
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.alert_label_editor, null);
dialogBuilder.setView(dialogView);
Button button = (Button)dialogBuilder.findViewById(R.id.btnName);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Commond here......
}
});
button.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
return false;
}
});
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.show();
在alert_label_editor
xml中添加按钮并为该按钮添加setOnLongClickListener
Button button = (Button)dialogBuilder.findViewById(R.id.btnName);
button.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
return false;
}
});
关于java - Android:如何使用 onClickListener 和 onLongClickListener 编写 AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40109920/