[英]how to open custom dialog box in a custom dialog box in android
我的應用程序在單擊按鈕時包含一個自定義對話框,在該對話框中,我在選中此復選框中的一個時有一些復選框,它向我顯示帶有3個復選框的另一個對話框,請幫助我這是打開第一個對話框的代碼
ImageView img1 = (ImageView)findViewById(R.id.image_menu);
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// custom dialog
final Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.menu);
Button dialogButton = (Button) dialog.findViewById(R.id.btncross);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
Spinner spin = (Spinner)dialog.findViewById(R.id.spinState);
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, states);
adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(adapter_state);
spin.setSelection(pos);
spin.setOnItemSelectedListener(MainActivity.this);
Button btnShare = (Button)dialog.findViewById(R.id.btnShare);
btnShare.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
String shareBody = "Dry Day App ";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "DryDayApp");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
dialog.getContext().startActivity(Intent.createChooser(sharingIntent, "Share via"));
}
});
cb1 = (CheckBox)dialog.findViewById(R.id.checkBoxHR);
cb1.setOnCheckedChangeListener(listener1);
cb2 = (CheckBox)dialog.findViewById(R.id.checkBoxDay);
cb2.setOnCheckedChangeListener(listener2);
cb3 = (CheckBox)dialog.findViewById(R.id.checkBox1);
cb3.setOnCheckedChangeListener(listener3);
preferences = getSharedPreferences("syllabus", 0);
cb1.setChecked(preferences.getBoolean("c1" ,false));
cb2.setChecked(preferences.getBoolean("c2" ,false));
cb3.setChecked(preferences.getBoolean("c3" ,false));
}
});
只需設計一個新的xml布局作為對話框並創建一個新的活動, @android:style/Theme.Dialog
在清單文件中的活動標簽ex下將其主題設置為@android:style/Theme.Dialog
:
<activity android:theme="@android:style/Theme.Dialog" android:name="LocationDialog"> </activity>
在對話框中單擊偵聽器代碼,以如下方式啟動活動
new AlertDialog.Builder(ActivityMain.this).setMessage(
"Are you sure?").setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Intent i = new Intent(YourActivity.this, NewActivity.class);
startActivity(i);
}
這將以對話框形式啟動您的新活動 ,您可以在其中輕松應用操作。
// EDIT您應該閱讀Android 在alertdialog android中 從對話框和AlertDialog中 顯示另一個對話框
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.