"Android.R.layout.simple_list_item_1" क्या है?


229

मैंने एंड्रॉइड डेवलपमेंट सीखना शुरू कर दिया है और एक किताब से एक सिद्धांतवादी उदाहरण का अनुसरण कर रहा हूं:

// Create the array list of to do items
final ArrayList<String> todoItems = new ArrayList<String>();

// Create the array adapter to bind the array to the listView
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(  this, 
                                android.R.layout.simple_list_item_1,
                                todoItems
                            );
myListView.setAdapter(aa);

मैं इस कोड को विशेष रूप से इस लाइन को नहीं समझ सकता:

android.R.layout.simple_list_item_1

लेकिन वह एक पैरामीटर क्यों है? मैं सिर्फ अपने सरणी के साथ अपनी सूची को अद्यतन करना चाहता था, और जवाबों में से एक ने यह दिखाया। मुझे यकीन नहीं है कि मुझे इसकी आवश्यकता क्यों है ... यहाँ मेरा सवाल है। धन्यवाद! stackoverflow.com/questions/35098789/…
रुचिर बरोनिया

जवाबों:


259

ज़कारिया, एक अंतर्निहित XML लेआउट दस्तावेज़ का संदर्भ है जो आपके अपने XML लेआउट में से एक के बजाय एंड्रॉइड ओएस का हिस्सा है।

यहां उन लेआउट की एक और सूची दी गई है, जिनका आप उपयोग कर सकते हैं: http://developer.android.com/reference/android/R.layout.html
(अपडेट लिंक धन्यवाद @Estel: https://github.com/android/platform_frameworks-base/ पेड़ / मास्टर / कोर / रेस / रेस / लेआउट )

आप वास्तव में लेआउट के लिए कोड देख सकते हैं।


15
लेआउट आपके SDK इंस्टॉलेशन में भी हैं
CommonsWare

10
हे, इसलिए वे हैं। : P मैंने उन्हें ग्रहण से पहले एंड्रॉइड जार ब्राउज़ करके देखने की कोशिश की और यह मुझे "स्रोत नहीं मिला" बताया। लेकिन हाँ, वे प्लेटफार्मों> एंड्रॉइड-एक्स> डेटा> रेस> लेआउट के तहत हैं। अच्छा निर्णय। :)
केविन कोप्पॉक

8
यह सूची को बताता है कि व्यक्तिगत पंक्तियों के लिए किस लेआउट का उपयोग करना है। कई चयनों के लिए चेकटेक्स्टव्यू के साथ अन्य हैं, आप कस्टम लेआउट बना सकते हैं जिसमें चित्र शामिल हैं, और उदाहरण के लिए कई टेक्स्ट साक्षात्कार। ये android.R. सिर्फ़ उपयोग करने के लिए कुछ आसान हैं, आपके लिए पहले से ही निर्मित संसाधन हैं।
केविन कोपॉक

30
धन्यवाद! वाह, यह बहुत सारे लेआउट हैं। सभी Android संदर्भ उनके बारे में प्रकट करने के लिए लगता है (R.layout.html में) प्रत्येक आईडी के लिए निरंतर मान हैं। हो सकता है कि कोई भी दस्तावेज हो जो नमूना उपयोग के मामले में इनमें से प्रत्येक को दिखाता है? (जैसे, "की तरह इस [क्षेत्र आईडी के साथ आंकड़ा] लेआउट एक्स दिखता है। यह सबसे अच्छा मामलों में प्रयोग किया जाता है ए, बी, और सी। यह एप्लिकेशन वाई में कार्रवाई में देखा जा सकता") हाँ, यह है पता करने के लिए मैं कर सकते हैं महान वाल्टों को लूटो और इस सब को अपने दम पर हैक करो, लेकिन उदाहरणों (बनाम एक्सएमएल) की एक स्कैन करने योग्य सूची इतनी बड़ी मदद होगी!
जो डी 'एंड्रिया

12
यह Google का विशिष्ट अभ्यास प्रतीत होता है। वे इस सभी महान प्रौद्योगिकी को जारी करते हैं और आईबीएम के सभी प्रलेखन कौशल हैं।
गुस्साईगुई

35

यह android OS का एक हिस्सा है। यहाँ परिभाषित XML फ़ाइल का वास्तविक संस्करण है।

simple_list_item_1:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/listItemFirstLineStyle"
    android:paddingTop="2dip"
    android:paddingBottom="3dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

simple_list_item_2:

<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@android:id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="?android:attr/listItemFirstLineStyle"/>

    <TextView android:id="@android:id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@android:id/text1"
        style="?android:attr/listItemSecondLineStyle" />

</TwoLineListItem> 

13

जैसा कि ऊपर बताया गया है: kcoppock और Joril

यहां जाएं : https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

अपने इच्छित लेआउट फ़ाइल पर राइट क्लिक करें, फिर 'इस रूप में सहेजें' को चुनें, कहीं सहेजें, फिर अपने एंड्रॉइड प्रोजेक्ट (ग्रहण) में 'लेआउट' फ़ोल्डर में कॉपी करें ...

आप देख सकते हैं कि लेआउट कैसा दिखता है :)

जाने के लिए रास्ता...


9

जैसा कि क्लैप द्वारा बताया गया है "android.R.layout.simple_list_item_1 एक अंतर्निहित XML लेआउट दस्तावेज़ का संदर्भ है जो Android OS का हिस्सा है"
सभी लेआउट में स्थित हैं: sdk \ platform \ android-xx \ data \ res \ लेआउट लेआउट
के XML को देखने के लिए:
ग्रहण : बस android लिखें। यह आपको XML की सामग्री पर ले जाएगा।
एंड्रॉइड स्टूडियो : प्रोजेक्ट विंडो -> बाहरी लाइब्रेरी -> एंड्रॉइड एक्स प्लेटफॉर्म -> रेस -> लेआउट, और यहां आपको उपलब्ध लेआउट की एक सूची दिखाई देगी।
यहां छवि विवरण दर्ज करें


7

android.R.layout.simple_list_item_1, यह आपके रेस / लेआउट फ़ोल्डर में पंक्ति लेआउट फ़ाइल है जिसमें आपकी पंक्ति के लिए संबंधित डिज़ाइन है listview। अब हम उपयोग करके पंक्ति सूची आइटम्स को पंक्ति लेआउट में बांधते हैं mylistview.setadapter(aa);


5

बाहरी लिंक पर जाने की आवश्यकता नहीं है, आपको जो कुछ भी चाहिए वह आपके कंप्यूटर पर पहले से ही स्थित है:

एंड्रॉयड \ Android-SDK \ प्लेटफार्मों \ android-एक्स \ डेटा \ रेस \ लेआउट।

सभी एंड्रॉइड लेआउट के लिए स्रोत कोड यहां स्थित हैं।


4

प्रति अरंड:
ग्रहण: बस टाइप करें android.R.layout.simple_list_item_1 कहीं कोड में, Ctrl दबाए रखें, simple_list_item_1 पर होवर करें , और ड्रॉपडाउन से जो कि लेआउट में ओपन घोषणा का चयन करता है - simple_list_item_1.xml । यह आपको XML की सामग्री पर ले जाएगा।

वहां से, यदि आप संपादक में परिणामी simple_list_item_1.xml टैब पर होवर करते हैं, तो आप देखेंगे कि फ़ाइल C: \ Data \ Applications \ Android \ android-sdk \ प्लेटफार्मों \ android-19 \ data \ res \ पर स्थित है लेआउट \ simple_list_item_1.xml (या आपकी स्थापना के लिए समकक्ष स्थान)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.