2013-04-27 3 views
0

1 열만 표시합니다. tableRow에서 for 루프를 사용하지 않고 테이블에 2 개의 열을 동적으로 추가하려고합니다. 그것은 단지 하나의 열을 보여줍니다. tableRow에서 for 루프를 사용하지 않고 테이블에 2 개의 열을 동적으로 추가하려고합니다.동적으로 테이블 열을 2로 설정합니다.

 **for (int j = 0; j <= arrtype.size() - 1; j++) { 
     row = new TableRow(this); 
     TableRow.LayoutParams trParams = (new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 

     String arrnameHolder = arrname.get(j); 
     int imgId = getResources().getIdentifier(arrimage.get(j), 
       "drawable", "com.package"); 
     RelativeLayout rl = new RelativeLayout(this); 
     RelativeLayout.LayoutParams rlParams = (new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
     rlParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);   

     img = new ImageView(this); 
     img.setLayoutParams(new TableRow.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
     img.setPadding(10, 10, 10, 10); 
     img.setImageResource(imgId); 
     tv = new TextView(this); 
     tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     tv.setText(arrnameHolder); 
     tv.setTextColor(Color.WHITE); 
     // tv.setBackgroundColor(Color.parseColor("#7000")); 
     tv.setLayoutParams(rlParams); 
     tv.setBackgroundColor(color.background_dark); 
     tv.setTypeface(Typeface.DEFAULT_BOLD); 
     tv.setTextAppearance(getApplicationContext(), 
       android.R.style.TextAppearance_Large); 
     tv.setGravity(Gravity.CENTER); 
     tv.setPadding(10, 10, 10, 10); 
     rl.addView(img); 
     rl.addView(tv); 
     row.addView(rl); 

     table.addView(row); 
    } 
    scroll.addView(table); 
    layout.addView(scroll, scrollParam); 
}** 

답변

1

테이블 행 RelativeLayout 대신에, LinearLayout를 사용한다. 또한

, 표 하단에 최신 항목을 추가 이것이 라인은하고있다 rlParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);을 쓸 필요가 없습니다 ...

+0

좋은 작업 @pallvi :) – SagarPPanchal

관련 문제