【发布时间】:2016-08-22 06:47:31
【问题描述】:
这是我的社交片段活动,它包含按钮视图。当我单击它时,我想从一个活动切换到另一个,但是当我在手机上启动它并单击按钮时,它说“不幸的是应用程序停止了”我应该怎么做才能从一个片段切换到另一个片段。 这是我的社交片段代码: SocialFrag
我想在点击按钮时从社交片段切换到 TechGadget 片段。
这里是原木猫 Log Cat
我的应用程序包含带有 tabhlayout 的导航抽屉,我在一个选项卡中声明了按钮...而我想在单击按钮时打开新活动。
**@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.social_layout,container,false);
b = (Button) rootView.findViewById(R.id.button2);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity().getApplicationContext(),TechGadgets.class);
startActivity(i);
}
});
return rootView;
}
}**
reutrns 错误,这里是 log cat
04-28 01:07:07.300 17089-17089/com.example.android.techfnss E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.techfnss, PID: 17089
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.android.techfnss/com.example.android.techfnss.TechGadgets}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1885)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1579)
at android.app.Activity.startActivityForResult(Activity.java:3934)
at android.app.Activity.startActivityForResult(Activity.java:3894)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:849)
at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:907)
at android.support.v4.app.Fragment.startActivity(Fragment.java:916)
at com.example.android.techfnss.SocialFragment$1.onClick(SocialFragment.java:26)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21168)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
04-28 01:07:10.275 17089-17089/com.example.android.techfnss I/Process: Sending signal. PID: 17089 SIG: 9
【问题讨论】:
-
请贴日志猫
-
以及您为启动第二个活动而实施的代码
-
这个问题已经被问过无数次了。您需要使用 LogCat 输出更新您的问题。奇怪的是您没有将您的活动添加到清单或类似的东西(确保
TechGadgets是一个活动)。此外,在创建 Intent 时使用当前的 Activity 上下文而不是 Application 上下文。编辑:似乎 TechGadget 可能是一个片段。片段之间的切换与活动的处理方式不同,查看他们的文档:developer.android.com/guide/components/fragments.html -
请勿将代码发布为屏幕截图。而不是将其作为文本直接放在问题中。
-
ActivityNotFoundException: Unable to find explicit activity class {com.example.android.techfnss/com.example.android.techfnss.TechGadgets}; have you declared this activity in your AndroidManifest.xml?说明了一切。
标签: android xml android-fragments fragment buttonclick