我有一个带有Fragment布局的主Activity.抽屉有3个选项:
Fragment[1], Fragment[2], Fragment[3].
Inside Fragment [2]和Fragment [3]是一个按钮.这个按钮打开其他片段.片段[4].
我想片段[4]没有抽屉,但有一个后退按钮.
这是片段[2]中的onClick代码
Fragment fragment = new InstalacionesEncontradasFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("key", this.instalacionesConCategorias);
fragment.setArguments(bundle);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction mFragmentTransaction = fragmentManager.beginTransaction();
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.replace(R.id.main_frame_container, fragment, "ACTIVIDADES").commit();
Run Code Online (Sandbox Code Playgroud)
并在片段[4]
onCreate方法:
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)
但是这个解决方案不起作用.
如何禁用抽屉?我应该在哪里实现后退按钮?在片段[2]或片段[3]?
我具有“自定义”,AlertDialog并且我想在用户单击时关闭button。
这是我的代码:
Button btn = (Button) dialoglayout.findViewById(R.id.custom_alert_dialog_horarios_btn_aceptar);
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//I want dismiss alertDialog
}});
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(dialoglayout);
builder.show()
Run Code Online (Sandbox Code Playgroud) 我收到此错误:
04-17 09:35:10.227: E/AndroidRuntime(9377): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.aldakur.instalacionesdep.services.action.FIN flg=0x10 } in com.aldakur.instalacionesdep.info.RssAvisosFragment$ProgressReceiver@42721b68
04-17 09:35:10.227: E/AndroidRuntime(9377): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:776)
04-17 09:35:10.227: E/AndroidRuntime(9377): at android.os.Handler.handleCallback(Handler.java:733)
04-17 09:35:10.227: E/AndroidRuntime(9377): at android.os.Handler.dispatchMessage(Handler.java:95)
04-17 09:35:10.227: E/AndroidRuntime(9377): at android.os.Looper.loop(Looper.java:136)
04-17 09:35:10.227: E/AndroidRuntime(9377): at android.app.ActivityThread.main(ActivityThread.java:5146)
04-17 09:35:10.227: E/AndroidRuntime(9377): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 09:35:10.227: E/AndroidRuntime(9377): at java.lang.reflect.Method.invoke(Method.java:515)
04-17 09:35:10.227: E/AndroidRuntime(9377): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
04-17 09:35:10.227: E/AndroidRuntime(9377): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
04-17 09:35:10.227: E/AndroidRuntime(9377): at dalvik.system.NativeStart.main(Native Method)
04-17 09:35:10.227: E/AndroidRuntime(9377): Caused by: java.lang.NullPointerException
04-17 09:35:10.227: E/AndroidRuntime(9377): at com.aldakur.instalacionesdep.info.RssAvisosFragment$ProgressReceiver.onReceive(RssAvisosFragment.java:123)
04-17 09:35:10.227: …Run Code Online (Sandbox Code Playgroud)