समस्या यह है कि आपके बटन स्क्रीन के अगले भाग में स्वचालित रूप से लपेटने वाले नहीं हैं। आपको विशेष रूप से एंड्रॉइड को बताना होगा कि आप अपने विचारों को कैसे रखना चाहते हैं। आप इसे ViewGroups जैसे LinearLayout या RelativeLayout का उपयोग करके करते हैं।
LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);
layout.setOrientation(LinearLayout.VERTICAL); //Can also be done in xml by android:orientation="vertical"
for (int i = 0; i < 3; i++) {
LinearLayout row = new LinearLayout(this);
row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
for (int j = 0; j < 4; j++ {
Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btnTag.setText("Button " + (j + 1 + (i * 4));
btnTag.setId(j + 1 + (i * 4));
row.addView(btnTag);
}
layout.addView(row);
}
मैं यह सोचते हैं रहा है कि R.id.linear_layout_tags
इस गतिविधि के लिए अपने XML की मूल LinearLayout है।
असल में आप यहां क्या कर रहे हैं यह है कि आप एक लाइनरलाइट बना रहे हैं जो आपके चार बटन पकड़ने के लिए एक पंक्ति होगी। फिर बटन जोड़े जाते हैं और प्रत्येक को अपनी आईडी के रूप में वृद्धि संख्या असाइन की जाती है। एक बार सभी बटन जोड़े जाने के बाद, पंक्ति को आपकी गतिविधि के लेआउट में जोड़ा जाता है। फिर यह दोहराता है। यह सिर्फ कुछ छद्म कोड है लेकिन यह शायद काम करेगा।
ओह और अगली बार आपके प्रश्न पर अधिक समय बिताने के लिए सुनिश्चित हो ...
https://stackoverflow.com/questions/how-to-ask
स्रोत
2011-08-25 23:33:27
मेरा पहला विचार ListView के लिए कस्टम SimpleCursorAdapter में getView() को बदलना था, लेकिन हो सकता है कि बटन प्रोग्रामेटिक रूप से डालना अधिक आसान हो। तो, मैं यहाँ पूछता हूं। किसी ने इस सवाल का फैसला किया हो सकता है। – Sviatoslav
मैं आपके लिए इसका उत्तर दे सकता हूं लेकिन सवाल बंद है:/ –
@ B.Young: फिर से खोला गया। –