У меня есть два фрагмента.
public class ListNav extends Fragment
public class SwipeNav extends Fragment
Я сделал просмотр списка с помощью класса ListNav.Я хочу преобразовать фрагмент в SwipeNav Fragment с помощью setOnItemClickListener при нажатии на любой элемент массива строк.Я получаю результат, когда использую следующее.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
lv = (ListView) view.findViewById(R.id.my_listView);
inputS=(TextView) view.findViewById(R.id.inputSearch);
ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(getContext(), R.array.tab_titles, android.R.layout.simple_list_item_1);
lv.setAdapter(aa);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
inputS.setText((String) lv.getAdapter().getItem(i));
}
});
Но мне нужно нажать на элементы из строкового массива в «ListNav», и он откроет новый фрагмент «SwipeNav», который открывает все элементы из тех же строковых массивов с проведениемПредставления. Я хочу показать тот же элемент из ListNav для того же элемента в SwipeNav.Для этого я не могу реализовать.Я использую метод ниже, но не удается.Сообщение об ошибке: К сожалению, приложение останавливается.
SwipeNav fragment = new SwipeNav();
FragmentTransaction transaction =
getFragmentManager().beginTransaction();
transaction.replace(R.id.nav_list, fragment);
transaction.addToBackStack(null);
transaction.commit();
SwipeNav.java
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
myPagerAdapter = new
MyPagerAdapter(getChildFragmentManager(),getContext());
viewPager = (ViewPager) view.findViewById(R.id.pager);
viewPager.setAdapter(myPagerAdapter);
Ошибки Logcat:
Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa4d09b20)
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.IllegalArgumentException: No view found for id 0x7f090067 (..:id/nav_list) for fragment SwipeNav{529dd108 #2 id=0x7f090067}
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1413)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2239)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
SwipeNav.java также находится в меню навигации.Он открывает все элементы с видом смахивания.В SwipeNav нет ошибок.