私は長さnの配列を持っていますが、今度はn個のLinearLayoutsを作成し、それぞれに異なるものを追加する必要があります。 どのように動的に行うことができますか?AndroidにLinearLayoutを動的に追加する方法は?
5
A
答えて
4
LinearLayout lLayour = new LinearLayout(context);
parentWidget.addView(lLayout);
4
最も簡単な方法は、XMLでレイアウトを作成し、また、あなたは後で簡単にアクセスできるように追加したビューをsetId()
することもできます
を使用して、それを膨らませることです。
2
RelativeLayoutを使用して解決しましたが、これはやや簡単に作業できました。はい、もちろん、私が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. ViewをLinearLayoutに動的に追加する方法は?
- 2. ImageViewをLinearLayoutに動的に追加する方法
- 3. TableLowをlinearlayoutに動的に追加するandroid
- 4. 動的に作成されたLinearLayoutをScrollViewに追加する方法は?
- 5. LinearLayoutに形状を追加するAndroid
- 6. 複数のTextViewをLinearLayoutに動的に追加する
- 7. RecyclerViewにCardViewをAndroidに動的に追加する方法???
- 8. Android私のレイアウトにビデオフラグメントを動的に追加する方法
- 9. Linearlayoutでビューを動的に追加するときの問題
- 10. RecyclerViewをLinearLayoutに動的に追加します。
- 11. イメージを動的に追加する方法android
- 12. Android - アクティビティに動的イメージを追加する方法
- 13. 複数のボタンを複数のLinearLayoutに動的に追加
- 14. 動的にビューを追加するHorizontalにLinearLayoutが画面外に出る
- 15. クリックされた子ビューのIDを動的にLinearLayoutに追加する方法は?
- 16. LinearLayoutで子ビューを動的に追加できません
- 17. 同じlinearlayoutでtextviewを動的に複製する方法は?
- 18. LinearLayoutにプログラムでツールバーを追加する方法
- 19. Android:動的にボタンにOnClickListenersを追加
- 20. MVC4 EditorForフィールドにラインアイテムを動的に追加する方法は?
- 21. パネルをTCategoryPanelGroupに動的に追加する方法は?
- 22. Nginxにアップストリームを動的に追加する方法は?
- 23. タイムラインにフレームを動的に追加する方法は?
- 24. RelativePanelにTextBlockを動的に追加する方法は?
- 25. jQuery-UIボタンセットに動的にボタンを追加する方法は?
- 26. Angular primeNgタブビューコントロールにタブを動的に追加する方法は?
- 27. クリックイベントに色を動的に追加する方法は?
- 28. ScrollViewに画像を動的に追加する方法は?
- 29. タイムスタンプに間隔を動的に追加する方法は?
- 30. RowValidationErrorTemplateをDataGridに動的に追加する方法は?
ここには、すべてのプロパティが割り当てられます(デフォルト以外のものが必要な場合)。 – jwatts1980
子LinearLayoutのLayoutParamsを設定することもできます。 lLayout.setLayoutPatams(layoutParams)、 – ihrupin
@hrupin parentWidgetを取得する方法は?私は、Activityクラスを継承するクラスのonCreateメソッドの中にあり、ビューはsetContentView(R.layout.someLayout)です。 –