我有一個在Android中顯示對話框的一般類。如何將額外資訊傳遞給此課程,延伸至android.app.Dialog
?把附加組件對話框
對於活動我可以使用getIntent().getIntExtra()
爲例。
我有一個在Android中顯示對話框的一般類。如何將額外資訊傳遞給此課程,延伸至android.app.Dialog
?把附加組件對話框
對於活動我可以使用getIntent().getIntExtra()
爲例。
我如何通過羣衆演員這個類,擴展android.app.Dialog
起初,我想說,你沒有提供有關當前實現,因此下面的事情更多的細節我提到的是,我假設你有一些方法返回對話框(你提到你正在使用一個存儲各種對話框的類)。
那麼直接通過方法傳遞數據呢?
public static final Dialog getDialog(int id, String title) {
// do your stuff
}
或者您可以使用構造函數來達到自己的目標:
public Dialog(Context context, String title, int data) {
super(context);
this.title = title;
this.data = data;
}
注意,只要你想,你可以創建許多參數的構造函數什麼。 Dialog類只需要調用超級構造函數:
super(Context context);
super(Context context, int theme);
super(Context context, boolean cancelable, OnCancelListener listener);
所以,如果你打電話給他們的一個你的罰款。
使用另一個構造函數,例如:
public class MyClass extends Dialog
{
private Integer data;
public MyClass(Context context){super(c);}
public MyClass(Context context, Integer value)
{
super(c);
data = value;
}
}
然後你就可以在你的類從其他地方使用的數據。
下面是我將如何傳遞給對話框。
創建一個靜態方法,該方法將創建對話框並在捆綁包中設置額外值。
public static final String TAG = "ExampleDialog";
private static final String BUNDLE_TITLE = "title"
...
public static ExampleDialog newInstance(String title) {
ExampleDialog dialog = new ExampleDialog();
Bundle bundle = new Bundle();
bundle.putString(BUNDLE_TITLE, title);
dialog.setArguments(bundle);
return dialog;
}
在onCreateDialog
方法訪問被捆綁的字符串
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle bundle = this.getArguments();
final String title = bundle.getString(BUNDLE_TITLE);
...
}
創建對話框
ExampleDialog dialog = ExampleDialog.newInstance("Title of Dialog");
dialog.show(getFragmentManager(), ExampleDialog.TAG);
我不知道,但也許你可以通過構造函數? – Ragaisis
你想傳遞給對話框數據例如int? – Sajmon
@Geralt是的。其實我需要把它作爲字符串發送給對話標題。 – MikkoP