मेरे पास लंबाई एन की एक सरणी है, अब मुझे लाइनरलाइट्स की संख्या बनाने और उनमें से प्रत्येक पर अलग-अलग सामान जोड़ने की आवश्यकता है। यह गतिशील रूप से कैसे किया जा सकता है?Android पर LinearLayout को गतिशील रूप से कैसे जोड़ें?
5
A
उत्तर
4
LinearLayout lLayour = new LinearLayout(context);
parentWidget.addView(lLayout);
4
सबसे आसान तरीका है एक्सएमएल में एक प्रारूप का बना सकते हैं और
LayoutInflater.from(context).inflate(R.layout.my_linear_layout);
उपयोग करते समय भी अपने जोड़े गए विचारों setId()
ताकि आप उन्हें बाद में आसानी से उपयोग कर सकते हैं चाहते हो सकता है यह बढ़ रहा है।
2
मैंने इसे रिलेवेटिवआउट का उपयोग करके हल किया जिसे मुझे काम करने में थोड़ा आसान मिला। हां, जैसा कि ऊपर बताया गया है, मैंने setId()
का उपयोग किया। यहां कोड लागू किया गया है:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView sv = new ScrollView(this);
//Parent RelativeLayout
parentLayout = new RelativeLayout(this);
parentLayout.setBackgroundColor(Color.WHITE);
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
parentLayout.setLayoutParams(params);
sv.addView(parentLayout);
final String[] comList = getCommunication();
int listLength=0;
try{
listLength= comList.length/3;
}catch(Exception e){System.out.println(e);System.exit(0);}
childLayout= new RelativeLayout[listLength] ;
TextView[] tvName = new TextView[listLength];
TextView[] tvDate =new TextView[listLength];
TextView[] tvMsg =new TextView[listLength];
for(int i =0;i<listLength;i++){
try{
childLayout[i] = new RelativeLayout(this);
childLayout[i].setPadding(5, 5, 5, 5);
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 75);
if(i==0){params.addRule(RelativeLayout.BELOW);}
else{params.addRule(RelativeLayout.BELOW,i);}
childLayout[i].setId(i+1);
childLayout[i].setClickable(true);
childLayout[i].setLayoutParams(params);
childLayout[i].setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Create the intent
Intent i = new Intent("ACTIIVTY");
startActivity(i);
}
});
tvName[i] = new TextView(this);
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
tvName[i].setLayoutParams(params);
childLayout[i].addView(tvName[i]);
if(comList[i*3].length()>24){
String name = comList[i*3].substring(0,24)+"...";
tvName[i].setText(name);
}else{
tvName[i].setText(comList[i*3]);
}
tvName[i].setId(listLength+1+i);
tvName[i].setTextSize(12);
tvName[i].setTextColor(Color.BLACK);
tvDate[i] = new TextView(this);
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
tvDate[i].setLayoutParams(params);
childLayout[i].addView(tvDate[i]);
tvDate[i].setTextSize(11);
tvDate[i].setTextColor(Color.BLUE);
tvDate[i].setText(comList[i*3+1]);
tvMsg[i] = new TextView(this);
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, listLength+1+i);
tvMsg[i].setLayoutParams(params);
childLayout[i].addView(tvMsg[i]);
tvMsg[i].setTextSize(11);
tvMsg[i].setTextColor(Color.GRAY);
if(comList[i*3+2].length()>96){
String msg = comList[i*3+2].substring(0,96)+"...";
tvMsg[i].setText(msg);
}else{
tvMsg[i].setText(comList[i*3+2]);
}
parentLayout.addView(childLayout[i]);
}catch(Exception e){System.out.println("Errrorrrrr");}
}
setContentView(sv);
}
संबंधित मुद्दे
- 1. गतिशील रूप से विधियों को कैसे जोड़ें
- 2. गतिशील टैब को गतिशील रूप से कैसे जोड़ें और निकालें?
- 3. गतिशील रूप से छवियों को जोड़ें jquery
- 4. Android LinearLayout fill-the-middle
- 5. गतिशील रूप से RelativeLayout
- 6. स्ट्रिंग सरणी में तत्वों को गतिशील रूप से कैसे जोड़ें?
- 7. JQuery गतिशील रूप से नियम जोड़ें
- 8. गतिशील रूप से ASP.NET पृष्ठ पर HTML जोड़ें
- 9. एक विशिष्ट LinearLayout में कैनवास कैसे जोड़ें?
- 10. गतिशील रूप से खंड
- 11. अतिरिक्त रिक्त स्थान के बिना LinearLayout में प्रोग्राम दृश्य रूप से ImageView कैसे जोड़ें?
- 12. Android पर बटन और टेक्स्ट रंग को गतिशील रूप से कैसे बदलें
- 13. Android दृश्यों के बीच GLSurfaceView को कैसे जोड़ें?
- 14. मेरे फॉर्म में गतिशील रूप से बटन कैसे जोड़ें?
- 15. टाइमस्टैम्प में गतिशील रूप से अंतराल कैसे जोड़ें?
- 16. गतिशील रूप से अज्ञात ऑब्जेक्ट में गुण कैसे जोड़ें?
- 17. एडिटर को गतिशील रूप से जोड़ें और एंड्रॉइड
- 18. एंड्रॉइड में गतिशील रूप से स्पिनर में आइटम कैसे जोड़ें?
- 19. गतिशील रूप से Google मानचित्र infowindow कैसे जोड़ें?
- 20. खंड की कक्षा को गतिशील रूप से कैसे बदलें
- 21. एंड्रॉइड: सूची दृश्य में छवियों को गतिशील रूप से बदलें
- 22. गतिशील रूप से सेलेरी
- 23. मार्की गतिशील रूप से
- 24. पाइथन गतिशील रूप से
- 25. बटन क्लिक पर गतिशील रूप से एक से नीचे TScrollBox में घटक कैसे जोड़ें?
- 26. गतिशील रूप से कॉलम
- 27. सी # गतिशील रूप से
- 28. गतिशील रूप से servletConfig
- 29. Android पर ImageView पर लाइनों को कैसे आकर्षित करें?
- 30. RelativeLayout पर प्रोग्रामेटिक रूप से एक दृश्य कैसे जोड़ें?
और कहीं वहां आप अपनी सभी संपत्तियों को असाइन करते हैं (माना जाता है कि आपको डिफ़ॉल्ट के अलावा कुछ और चाहिए)। – jwatts1980
आप बच्चे LinearLayout के लिए लेआउट पैराम्स भी सेट कर सकते हैं। lLayout.setLayoutPatams (लेआउट पैराम्स), – ihrupin
@ihrupin parentWidget कैसे प्राप्त करें? मैं एक कक्षा के एक क्रिएट विधि के अंदर हूं जो गतिविधि वर्ग को विरासत में लेता है और दृश्य सेट है CONTContentView (R.layout.someLayout) –