如何解决我创建的按钮不起作用我的代码有问题吗?
我正在 Android Studio 中构建一个应用程序,基本上我希望在用户单击添加按钮时弹出一个窗口。我使用了 setonClickListener 但是当我运行应用程序时,没有任何反应。我的代码可能有问题吗?
这是我的 MainActivity 代码
public class MainActivity extends AppCompatActivity {
Button addBtn;
ListView itemListView;
DatePickerDialog.OnDateSetListener dateSetListener;
String dateString = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addBtn = (Button)findViewById(R.id.addBtn);
itemListView = (ListView)findViewById(R.id.itemListView);
addBtn.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
View view = getLayoutInflater().inflate(R.layout.activity_popup_window,null);
EditText itemName = (EditText)view.findViewById(R.id.itemName);
Button expirationDateBtn = (Button)view.findViewById(R.id.expirationDateBtn);
builder.setView(view)
.setTitle("Add Item")
.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
dialog.cancel();
}
})
.setPositiveButton("Add",int which) {
if (itemName.getText().toString().isEmpty() || dateString == null) {
Toast.makeText(MainActivity.this,"Item name or expiration date is missing",Toast.LENGTH_LONG).show();
}
else{
//do action
}
}
});
//when clicked on Expiration Date Btn
//display date on button
解决方法
AlertDialogBuilder
不会隐式地创建和显示新的 AlertDialog
。它仅在显式调用 create()
之前准备对话框(或者,如果您需要在对话框构建时显示对话框,则可以直接调用 show()
)。
您的代码缺少 onClick()
末尾的以下几行:
AlertDialog dialog = builder.create();
dialog.show();
或者只是:
builder.show();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。