如何从Android中的活动呼吁片段?

编程入门 行业动态 更新时间:2024-10-15 10:18:59
本文介绍了如何从Android中的活动呼吁片段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的工作 Android的碎片。在我的应用我正在与活动和片段的问题。即我在片段1 创建一个按钮并称为活动1 在按钮点击。同样是在活动1 我创造了另一个按钮键,名为活性2 。现在,从活性2 我叫活动1 和活动1 我试图调用片段1 。但它显示出在ID错误(谁能告诉我,我们需要给它ID)。我在谷歌研究了如何调用片段从活动,但我没有找到这个任何解决方案。请帮我出这个问题。先谢谢了。

我的code:

Activity1.class

公共无效回来(视图v){ MyFragment1 fragmentS1 =新MyFragment1(); 。getFragmentManager()调用BeginTransaction()取代(android.R.id.frame_container,fragmentS1)mit()。}logcat的错误:十月4日至10日:55:28.876:E / AndroidRuntime(22103):致命异常:主要十月4日至10日:55:28.876:E / AndroidRuntime(22103):java.lang.IllegalArgumentException异常:未找到ID 0x7f0a0004视图(com.vizteck.navigationdrawer:ID / frame_container)的片段,片段1 {429cba90#0 ID = 0x7f0a0004}十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:895)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.BackStackRecord.run(BackStackRecord.java:682)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1455)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:441)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.os.Handler.handleCallback(Handler.java:725)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.os.Handler.dispatchMessage(Handler.java:92)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.os.Looper.loop(Looper.java:137)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在android.app.ActivityThread.main(ActivityThread.java:5283)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在java.lang.reflect.Method.invokeNative(本机方法)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在java.lang.reflect.Method.invoke(Method.java:511)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1102)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)十月4日至10日:55:28.876:E / AndroidRuntime(22103):在dalvik.system.NativeStart.main(本机方法)

解决方案

试试这个..

从这个删除的android android.R.id.frame_container

如果您使用的是活动1 延长 活动使用 getFragmentManager()或者如果你使用活动1 延长 FragmentActivity 使用 getSupportFragmentManager()。

像下面

MyFragment1 fragmentS1 =新MyFragment1();。getSupportFragmentManager()调用BeginTransaction()取代(R.id.frame_container,fragmentS1)mit()。

I am working on android fragments. In my app I am getting an issue with activity and fragment. i.e I created a button in fragment1 and called an activity1 in that button click. Again in activity1 I created another button and called activity2. Now from activity2 I called activity1 and from activity1 I am trying to call fragment1. But it is showing error at id(can anyone tell me which id we need to give). I researched in google on how to call fragment from activity but I didnt find any solution for this. Please help me out with this issue. Thanks in advance.

My code:

Activity1.class

public void back(View v) { MyFragment1 fragmentS1 = new MyFragment1(); getFragmentManager().beginTransaction().replace(android.R.id.frame_container, fragmentS1)mit(); } Logcat Error: 04-10 10:55:28.876: E/AndroidRuntime(22103): FATAL EXCEPTION: main 04-10 10:55:28.876: E/AndroidRuntime(22103): java.lang.IllegalArgumentException: No view found for id 0x7f0a0004 (com.vizteck.navigationdrawer:id/frame_container) for fragment Fragment1{429cba90 #0 id=0x7f0a0004} 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:895) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.BackStackRecord.run(BackStackRecord.java:682) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1455) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:441) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.os.Handler.handleCallback(Handler.java:725) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.os.Handler.dispatchMessage(Handler.java:92) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.os.Looper.loop(Looper.java:137) 04-10 10:55:28.876: E/AndroidRuntime(22103): at android.app.ActivityThread.main(ActivityThread.java:5283) 04-10 10:55:28.876: E/AndroidRuntime(22103): at java.lang.reflect.Method.invokeNative(Native Method) 04-10 10:55:28.876: E/AndroidRuntime(22103): at java.lang.reflect.Method.invoke(Method.java:511) 04-10 10:55:28.876: E/AndroidRuntime(22103): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 04-10 10:55:28.876: E/AndroidRuntime(22103): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 04-10 10:55:28.876: E/AndroidRuntime(22103): at dalvik.system.NativeStart.main(Native Method)

解决方案

Try this..

Remove android from this android.R.id.frame_container

if you are using activity1 extends Activity use getFragmentManager() or if you are using activity1 extends FragmentActivity use getSupportFragmentManager().

like below

MyFragment1 fragmentS1 = new MyFragment1(); getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, fragmentS1)mit();

更多推荐

如何从Android中的活动呼吁片段?

本文发布于:2023-11-25 23:06:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1631709.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:片段   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!