从 Activity 开始 DialogFragment
Start DialogFragment from Activity
我正在学习 Android 使用 IntelliJ 编程,但遇到了一个小问题。
我有一个 Activity 看起来像这样:
public class example2 extends Activity {
...some code...
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.optExit:
finish();
return true;
case R.id.optSettings:
Intent sintent = new Intent(this, settings.class);
startActivity(esintent);
return true;
case R.id.optAbout:
//need to start the fragmentdialog
}
return true;
}
...some code...
}
这就是我的 DialogFragment 的样子
public class about extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setTitle("About");
b.setMessage("some text");
b.setCancelable(false);
b.setPositiveButton("OK", null);
return b.create();
}
}
我几乎尝试了所有方法,创建了一个新实例并启动了方法,使用了我无法使用的 FragmentManager。我该怎么办?
对于批准的命名,使用 About 而不是 about 它只是
new About().show(getSupportFragmentManager(),"about");
只需使用 Activity 片段管理器即 getSupportFragmentManager()
。这将为该控制器 Returns 一个 FragmentManager。
我正在学习 Android 使用 IntelliJ 编程,但遇到了一个小问题。
我有一个 Activity 看起来像这样:
public class example2 extends Activity {
...some code...
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.optExit:
finish();
return true;
case R.id.optSettings:
Intent sintent = new Intent(this, settings.class);
startActivity(esintent);
return true;
case R.id.optAbout:
//need to start the fragmentdialog
}
return true;
}
...some code...
}
这就是我的 DialogFragment 的样子
public class about extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setTitle("About");
b.setMessage("some text");
b.setCancelable(false);
b.setPositiveButton("OK", null);
return b.create();
}
}
我几乎尝试了所有方法,创建了一个新实例并启动了方法,使用了我无法使用的 FragmentManager。我该怎么办?
对于批准的命名,使用 About 而不是 about 它只是
new About().show(getSupportFragmentManager(),"about");
只需使用 Activity 片段管理器即 getSupportFragmentManager()
。这将为该控制器 Returns 一个 FragmentManager。