एंड्रॉइड शुरुआती बनाना। मैं सूची दृश्यों के साथ खेल रहा था, एक्सएमएल फ़ाइल के बजाय उन्हें गतिशील रूप से बनाने की कोशिश कर रहा था। मैं अपने कोड में निम्नलिखित अजीब व्यवहार का पालन करता हूं।प्रोग्रामव्यू को प्रोग्रामेटिक रूप से
public class SettingsHolder extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ListView lv = new ListView(this);
String[] values = new String[10];
for(int i=0;i<10;i++){
values[i] = ""+i;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, values);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//Toast.makeText(getBaseContext(), ""+arg2, Toast.LENGTH_SHORT).show();
Log.d("DEBUG", ""+arg2);
}
});
ll.addView(lv);
setContentView(ll);
}
}
असल में मैं पहली बार एक LinearLayout वस्तु बनाने और फिर उसके बच्चे में से एक के रूप में एक ListView वस्तु बनाते हैं। मैंने देखा कि बनाई गई सूची आइटम क्लिक करने योग्य नहीं हैं। लेकिन अगर मैं
setContentView(lv);
setContentView(ll);
के बजाय लिखने सूची आइटम क्लिक करने योग्य हैं। क्या कोई इसे समझा सकता है? अगर मुझे अपनी कक्षा को बाद में लागू करना है तो मैं सूची आइटम को क्लिक करने योग्य कैसे बना सकता हूं? मैं ListActivity तरीका नहीं जाना चाहता हूँ।
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
आपका कोड ठीक लग रहा है, मैं भी सुनिश्चित करने के लिए संकलित, लेकिन OnItemClickListener के रूप में देने का वादा किया ... – Sam
क्या होता यदि आप सामग्री दृश्य सेट और फिर listvieww जोड़ने निष्पादित करता? – Barak
नहीं, अभी भी काम नहीं करता है। सूची ठीक प्रदर्शित करती है लेकिन सूची आइटम अन-क्लिक करने योग्य हैं। – VJune