Jetzt versuche ich, Daten von einem Fragment an ein anderes Fragment zu übergeben.Daten von einer Fragmentierung an eine andere Fragmentierungsfunktion übergeben
zum Beispiel
Fragment eines
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//DB Connection
...
...
values_description = stringArrayList_description.toArray(new String[stringArrayList_description.size()]);
Fragmenttwo frag_two = new Fragmenttwo();
Bundle args = new Bundle();
args.putString("data","data12344");
frag_two.setArguments(args);
getFragmentManager().beginTransaction().add(R.id.text_view,frag_two);
//Toast.makeText(getActivity(),"position"+parent.getItemAtPosition(position),Toa st.LENGTH_SHORT).show();
}
});
Zweiter Teil
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_listview_two, container, false);
textView = (TextView)view.findViewById(R.id.text_view);
Bundle bundle = this.getArguments();
value = bundle.getString("data","nulll");
setData(value);
return view;
}
public void setData(String data){
textView.setText(data);
}
Aber ich nicht in der Lage ist, die Daten aus der zweiten Fragmentierung zu erhalten, wirft es Fehler wie,
04-07 11:24:03.887 2937-2937/com.ats.test E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ats.test, PID: 2937
android.view.InflateException: Binary XML file line #13: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at fragments.Callhistory_Fragment.onCreateView(Callhistory_Fragment.java:35)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5511)
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:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at fragments.Fragmenttwo.onCreateView(Fragmenttwo.java:27)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
at android.app.Activity.onCreateView(Activity.java:4877)
at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:34)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:80)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at fragments.Callhistory_Fragment.onCreateView(Callhistory_Fragment.java:35)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5511)
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:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Fragment zu handhaben weitere Fragmente (fragmentone und fragmenttwo)
<fragment
android:layout_width="206dp"
android:layout_height="match_parent"
android:id="@+id/fragment1"
android:layout_weight="1"
android:name="fragments.Fragmentone"
android:layout_gravity="left|center_vertical"></fragment>
<fragment
android:layout_width="164dp"
android:layout_height="match_parent"
android:id="@+id/fragment2"
android:layout_weight="1"
android:name="fragments.Fragmenttwo"
android:layout_gravity="right|center_vertical"
></fragment>
</FrameLayout>
R.Layout.fragment_listview_two.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f467f7">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_view"
android:text="description \n here"
android:textColor="#000000"
android:textAppearance="?android:textAppearanceLarge"/>
</LinearLayout>
Bitte führen Sie mir, ich weiß nicht, wo ich Fehler gemacht haben.
Ihre fragment_listview_two.xml veröffentlichen ... Es enthält Fehler ... –
als Protokoll sagt, daß es ein Problem ist, xml, es ist nicht eine Frage der Datenweitergabe in Aufpumpen . –
wie dieses aufblasen Problem zu lösen und ich auch NullPointerException zu Ich weiß nicht, wo diese Ausnahme ausgelöst wird –