我試圖顯示一個AlertDialog時,單擊一個操作欄的項目,但沒有任何反應!我是新來的android編程,所以你可以張貼我一些代碼或告訴我如何做到這一點?android:顯示來自操作欄的警告對話框
感謝大家!
利瑪竇
我試圖顯示一個AlertDialog時,單擊一個操作欄的項目,但沒有任何反應!我是新來的android編程,所以你可以張貼我一些代碼或告訴我如何做到這一點?android:顯示來自操作欄的警告對話框
感謝大家!
利瑪竇
好吧,首先,你必須趕上的onclick事件被點擊右邊的動作欄的項目是什麼時候?
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if (item.getItemId() == android.R.id.home) //the androi.r.id.home have to changed
//for the id of your button.
{
///here is where you have to show the alertdialog!!!!
}
}
public boolean onOptionsItemSelected(MenuItem item)
{
//This is the layout that you are going to use in your alertdialog
final View addView = getLayoutInflater().inflate(R.layout.add, null);
new AlertDialog.Builder(this).setTitle("Add a Word").setView(addView)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
addWord((TextView) addView.findViewById(R.id.title));
}
}).setNegativeButton("Cancel", null).show();
return (super.onOptionsItemSelected(item));
}
這裏得到完整的源代碼的形式..
http://vimaltuts.com/android-tutorial-for-beginners/android-action-bar-tab-menu-example
你也可以建立自己的AlertDialgog這樣的:
new AlertDialog.Builder(this)
.setTitle("Delete entry")
.setMessage("Are you sure you want to delete this entry?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// continue with delete
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
你能標記爲解決方案嗎?謝謝!!!不要猶豫,不管你需要什麼。 –
我剛剛實現它,它的工作!我昨天也做了同樣的事情,但我不知道爲什麼這樣做不起作用! – user3649608
好的,很高興聽到...無論如何,如果我的解決方案很好,也許你可以/應該/必須檢查作爲正確的解決方案,對吧? –
顯示你的代碼。舉例如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.itemid:
new AlertDialog.Builder(this)
.setMessage("Message")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//code if yes
}
})
.setNegativeButton("No", null)
.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
你可以發佈你現有的代碼嗎? –