मैं एक Fragment
जो एक TabHost
जड़ लेआउट के रूप में इस प्रकार है है ...टुकड़ा getArguments() रिटर्न अशक्त
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/tab_1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<!-- More FrameLayouts here - each are placeholders for Fragments -->
</FrameLayout>
</LinearLayout>
</TabHost>
टैब सामग्री के लिए प्रत्येक Fragment
अद्यतन इस प्रकार है/बनाने के लिए कोड .. ।
private void updateTab(String tabId, int placeholder) {
FragmentManager fm = getFragmentManager();
if (fm.findFragmentByTag(tabId) == null) {
Bundle arguments = new Bundle();
arguments.putInt("current_day", mCurrentTab);
EpgEventListFragment fragment = new EpgEventListFragment();
fragment.setArguments(arguments);
fm.beginTransaction()
.replace(placeholder, new EpgEventListFragment(), tabId)
.commit();
}
}
EpgEventListFragment
की onCreate(...)
विधि में मैं तो तर्क प्राप्त करने की कोशिश Bundle
लेकिन मैं हमेशा निम्न कार्य null
मिलता है ...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments == null)
Toast.makeText(getActivity(), "Arguments is NULL", Toast.LENGTH_LONG).show();
else
mCurrentDay = getArguments().getInt("current_day", 0);
...
}
मुझे यहां क्या याद आ रही है? मैंने onAttach(...)
में भी कोशिश की लेकिन मुझे अभी भी शून्य नहीं मिला। मैं Fragments
का उपयोग करने के लिए नया हूं इसलिए मुझे उम्मीद है कि एक आसान कारण है लेकिन खोज करते समय मैं कुछ भी नहीं आया हूं।
ओह तुम मुझे मजाक कर रहे हैं करने के लिए मिल गया है ... Aaaargh! – Squonk
कभी-कभी यह सब कुछ आंखों की एक जोड़ी लेता है। धन्यवाद! मैं मूल रूप से तर्क पारित नहीं कर रहा था इसलिए मैं 'प्रतिस्थापन' को कॉल में बदल रहा था (...) '। मेरे जवाब को स्वीकार करने में मुझे समय लगता है लेकिन मैं ऐसा करूँगा। एक बार फिर धन्यवाद। – Squonk
@ स्क्वॉन्क आपका स्वागत है! मुझे याद है कि एक बार मैं 'फ्रैगमेंट एक्टिविटी' का विस्तार करना भूल गया था। यह मेरे जीवन का सबसे अच्छा आधे घंटे था यह पता लगाने की कोशिश कर रहा था :-) –