Я создал собственный диалог и хочу закрыть его при нажатии кнопки Отмена. Я искал в Google, большинство людей используют Dialog или AlertDialog, но я ничего подобного не использую. Это мой TextDialogActivity
, который загружается при нажатии кнопки в моем приложении. Из MainActivity
я просто отображаю другое действие как настраиваемый диалог. Когда я нажимаю кнопку Save
в диалоговом окне, я хочу получить доступ к данным в родительском действии, которые хранятся в переменной textData
в дочернем действии.
public class TextDialogActivity extends AppCompatActivity {
TabHost tabHost;
private static final int FILE_SELECT_CODE = 0;
private String textData;
private Button browse;
private Button cancel_button1;
private Button cancel_button2;
private TextView text_preview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text_dialog_layout);
browse = findViewById(R.id.browse_file_button);
text_preview = findViewById(R.id.text_preview);
cancel_button1 = findViewById(R.id.cancel_button);
cancel_button2 = findViewById(R.id.cancel_button2);
tabHost = findViewById(R.id.tabHost);
tabHost.setup();
TabHost.TabSpec spec=tabHost.newTabSpec("tag1");
spec.setContent(R.id.encode_dialog_text_tab);
spec.setIndicator("Edit Text");
tabHost.addTab(spec);
spec=tabHost.newTabSpec("tag2");
spec.setContent(R.id.encode_dialog_browse_tab);
spec.setIndicator("Browse");
tabHost.addTab(spec);
browse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFileChooser();
}
});
cancel_button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// close dialog
}
});
cancel_button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// close dialog
}
});
}
}
Я добавил @style/Theme.AppCompat.Dialog
в свой AndroidManifest.xml, чтобы создать свой диалог.
<activity
android:name=".activity.TextDialogActivity"
android:theme="@style/Theme.AppCompat.Dialog"
android:label="Secret Message">
</activity>
Это скриншот.