为什么我的应用程序在Android中的ImageView点击时会强制从一个片段移动到另一个片段?

为什么我的应用程序在Android中的ImageView点击时会强制从一个片段移动到另一个片段?,android,android-fragments,Android,Android Fragments,单击ImageView,我正试图从mycontacts extends Fragment移动到tasks extends Fragment。我的ImageView位于使用SimpleAdapter生成的列表视图中。我的布局id如下:R.id.tasky用于任务片段,R.id.mycontacts用于mycontacts片段。我的代码和错误日志如下。由于我是新来的碎片,请一步一步地向我解释 支原体 purple.setOnClickListener(new OnClickListener() {

单击
ImageView
,我正试图从
mycontacts extends Fragment
移动到
tasks extends Fragment
。我的ImageView位于使用SimpleAdapter生成的
列表视图中。我的布局id如下:
R.id.tasky
用于任务片段,
R.id.mycontacts
用于mycontacts片段。我的代码和错误日志如下。由于我是新来的碎片,请一步一步地向我解释

支原体

 purple.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
     android.app.FragmentTransaction t = getActivity().getFragmentManager().beginTransaction();
        Fragment fragment = new tasks();
        FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.tasky, fragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
}
});
错误日志:

04-22 04:41:52.486: E/FragmentManager(3250): No view found for id 0x7f04004f (com.example.taskmanager:id/tasky) for fragment tasks{b4ee0f70 #1 id=0x7f04004f}
04-22 04:41:52.486: E/FragmentManager(3250): Activity state:
04-22 04:41:53.626: E/AndroidRuntime(3250): FATAL EXCEPTION: main
04-22 04:41:53.626: E/AndroidRuntime(3250): Process: com.example.taskmanager, PID: 3250
04-22 04:41:53.626: E/AndroidRuntime(3250): java.lang.IllegalArgumentException: No view found for id 0x7f04004f (com.example.taskmanager:id/tasky) for fragment tasks{b4ee0f70 #1 id=0x7f04004f}
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.os.Handler.handleCallback(Handler.java:733)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.os.Handler.dispatchMessage(Handler.java:95)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.os.Looper.loop(Looper.java:136)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at android.app.ActivityThread.main(ActivityThread.java:5017)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at java.lang.reflect.Method.invokeNative(Native Method)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at java.lang.reflect.Method.invoke(Method.java:515)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-22 04:41:53.626: E/AndroidRuntime(3250):     at dalvik.system.NativeStart.main(Native Method)
04-22 04:45:17.276: E/FragmentManager(3351): No view found for id 0x7f04004f (com.example.taskmanager:id/tasky) for fragment tasks{b4ef7ac0 #1 id=0x7f04004f}
04-22 04:45:17.276: E/FragmentManager(3351): Activity state:
04-22 04:45:18.476: E/AndroidRuntime(3351): FATAL EXCEPTION: main
04-22 04:45:18.476: E/AndroidRuntime(3351): Process: com.example.taskmanager, PID: 3351
04-22 04:45:18.476: E/AndroidRuntime(3351): java.lang.IllegalArgumentException: No view found for id 0x7f04004f (com.example.taskmanager:id/tasky) for fragment tasks{b4ef7ac0 #1 id=0x7f04004f}
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.os.Handler.handleCallback(Handler.java:733)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.os.Handler.dispatchMessage(Handler.java:95)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.os.Looper.loop(Looper.java:136)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at android.app.ActivityThread.main(ActivityThread.java:5017)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at java.lang.reflect.Method.invokeNative(Native Method)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at java.lang.reflect.Method.invoke(Method.java:515)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-22 04:45:18.476: E/AndroidRuntime(3351):     at dalvik.system.NativeStart.main(Native Method)

您的mycontacts
片段
xml没有id为
R.id.tasky
ViewGroup
。您可以使用接口作为对活动的回调,然后用另一个替换容器中现有的片段

您可以找到代码片段@

在文档中的示例中,在
列表项上有
列表片段
,单击
将值传达给
活动
。然后在活动中,将现有片段替换为新片段,并将值传递给新片段


类似地,在
ImageView
上单击“与活动通信”,然后从“活动”中替换容器中的相应片段。

您没有id为
R.id.tasky
i的容器您的mycontacts fragment layoutIs
tasky
您的
FrameLayout
id?没有其my LinearLayout id