PDA

View Full Version : مشکل با Dialog و OptionMenu



A.iman
پنج شنبه 19 دی 1392, 23:29 عصر
سلام دوستان .
من میخوام وقتی کاربر روی دکمه منو کلیک میکنه یه Dialog بهش نشون بده که این Dialog به صورت زیر ساختم »

LayoutInflater factory = LayoutInflater.from(this);
final View deleteDialogView = factory.inflate(R.layout.dialog, null);
final AlertDialog deleteDialog = new AlertDialog.Builder(this).create();
deleteDialog.setView(deleteDialogView);

حالا وقتی اینو میزارم توی OnCreateOptionMenu هربار که برنامه اجرا میشه نشون داده میشه و زمانی که روی دکمه منو کلیک میکنم چیزی نشون نمیده !؟ به نظرتون چیکار کنم !؟

saeed_g21
جمعه 20 دی 1392, 00:36 صبح
از deleteDialog.show(); استفاده در دگمه ببین درست میشه

whiteflag
جمعه 20 دی 1392, 11:01 صبح
نمیدونم این چه روش Dialog ساختنیه که شما استفاده کردی :لبخند: اینی که شما ساختی AlertDialog هست که یه مثالشو ساختم براتون کد کاملش اینه:
package sha.a.wf.ui_test;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;


public class ActivityDialog extends Activity {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, "EXII");
return super.onCreateOptionsMenu(menu);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
AlertDialog.Builder dialog = new AlertDialog.Builder(ActivityDialog.this);
dialog.setTitle("title shoma");
dialog.setMessage("message shoma");
dialog.setIcon(android.R.drawable.ic_dialog_alert) ;//icon
dialog.setPositiveButton("javabe + ", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
ActivityDialog.this.finish();

}
});
dialog.setNegativeButton("Javabe -", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(ActivityDialog.this, "Javabe -", 3000);

}
});
dialog.create().show();
break;

}
return super.onOptionsItemSelected(item);
}


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_dialog);

}

}

whiteflag
جمعه 20 دی 1392, 11:04 صبح
سلام دوستان .
من میخوام وقتی کاربر روی دکمه منو کلیک میکنه یه Dialog بهش نشون بده که این Dialog به صورت زیر ساختم »

LayoutInflater factory = LayoutInflater.from(this);
final View deleteDialogView = factory.inflate(R.layout.dialog, null);
final AlertDialog deleteDialog = new AlertDialog.Builder(this).create();
deleteDialog.setView(deleteDialogView);

حالا وقتی اینو میزارم توی OnCreateOptionMenu هربار که برنامه اجرا میشه نشون داده میشه و زمانی که روی دکمه منو کلیک میکنم چیزی نشون نمیده !؟ به نظرتون چیکار کنم !؟

onCreateOptionMenu فقط برای ساخت منو هست و برای دادن خاصیت به اون باید از onOptionItemSelected استفاده کنید که مثالشو گذاشتم