मैं onCreateView(LayoutInflater, ViewGroup, Bundle)
से अपना स्वयं का दृश्य पदानुक्रम लौटकर खंड लेआउट को कस्टमाइज़ करने का प्रयास कर रहा हूं। यह मेरे कस्टम व्यू को फुलाता है, लेकिन लगता है कि अंदर आने के बजाय विचारों को ढेर करना है, मैं सबकुछ एक साथ देखता हूं। किसी भी मदद की सराहना की है।एंड्रॉइड + कस्टम व्यू पदानुक्रम के साथ सूचीफ्रेम
MyActivity.java:
public class MyActivity extends FragmentActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
ArrayListFragment list = new ArrayListFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, list).commit();
}
}
public static class ArrayListFragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
inflater.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.main, container);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String List[] = {"Larry", "Moe", "Curly"};
setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, List));
}
}
}
main.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:paddingLeft="8dp"
android:paddingRight="8dp">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="THIS IS A BUTTON" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false" />
<TextView
android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
android:text="No data" />
</LinearLayout>
यह भी ध्यान रखें, मैं android-समर्थन-v4 उपयोग कर रहा हूँ। एंड्रॉयड डॉक्स से, यह स्पष्ट रूप से कहा गया है: "ListFragment डिफ़ॉल्ट लेआउट है कि एक एकल सूची दृश्य के होते है फिर भी, यदि आप चाहें, तो आप onCreateView से अपने खुद के दृश्य पदानुक्रम लौटने द्वारा टुकड़ा लेआउट अनुकूलित कर सकते हैं (। लेआउट इन्फ्लेटर, व्यू ग्रुप, बंडल)। ऐसा करने के लिए, आपके दृश्य पदानुक्रम में आईडीव्यू "आईडी एंड्रॉइड: आईडी/सूची" आईडी के साथ ListView ऑब्जेक्ट होना चाहिए (या अगर यह कोड में है तो सूची)। " – worked