我是android新手。当我点击gridview项目时,我想要一个带有正负按钮的对话框。现在,当我点击一个项目时,它会使用我点击的项目信息填充另一个活动。
例如,使用putExtra
和getExtras
,填充活动效果很好。现在我想要的是,而不是gridView
点击上执行的操作,我希望在ok
框的Alertdialog
按钮上执行操作。
如何设置gridview.setOnCLickListener
以便在单击某个项目时弹出alertDialog
框?
gridView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
gridView.setClickable(true);
item= (Hotel) parent.getItemAtPosition(position);
String names = item.getName();
Intent i=new
Intent(HotelList.this,UserViewActivity.class);
i.putExtra("names",names);
startActivity(i);
}
});
答案 0 :(得分:0)
首先,删除gridView.setClickable(true)。根本没有必要。其次,您可以在代码中创建对话框:
AlertDialog ad = new AlertDialog.Builder(this).setContentView(R.layout.activity_dialog).show();
答案 1 :(得分:0)
尝试以下代码:
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
item= (Hotel) parent.getItemAtPosition(position);
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setCancelable(false);
dialog.setTitle("Your Title");
dialog.setMessage("Your Message" );
dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
String names = item.getName();
Intent i= new Intent(HotelList.this,UserViewActivity.class);
i.putExtra("names",names);
startActivity(i);
alert.cancel();
}
})
.setNegativeButton("Cancel ", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
alert.cancel();
}
});
final AlertDialog alert = dialog.create();
alert.show();
}
});
希望这有帮助。