.xml 파일에 간단한 테이블 레이아웃이 있습니다. 런타임에 컴포넌트를 추가하려고합니다. 내가 행의 하나를 클릭 할 때마다테이블 행/테이블 항목의 클릭 이벤트를 얻는 방법?
public class Home extends Activity{
TextView tv1; int i;TableRow tbrow;
String [] names = {"First Name","Last Name", "Title","Company","Phone"};
int [] images = { R.drawable.icon,R.drawable.icon,R.drawable.star2,R.drawable.icon,R.drawable.icon}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TableLayout ll=(TableLayout) findViewById(R.id.tableLayout1);
TableRow trow=new TableRow(this);
ImageView Image1=new ImageView(this);
ImageView Image2=new ImageView(this);
ImageView Image3=new ImageView(this);
ImageView Image4=new ImageView(this);
tv1=new TextView(this);
trow.setClickable(true);
Image1.setImageResource(R.drawable.blank);
Image2.setImageResource(R.drawable.star2);
Image3.setImageResource(R.drawable.blank);
Image4.setImageResource(R.drawable.blank);
tv1.setText("Brochures");
trow.addView(Image1);
trow.addView(tv1);
trow.addView(Image2);
trow.addView(Image3);
trow.addView(Image4);
trow.setId(0);
ll.addView(trow);
for(i=1;i<5;i++){
tbrow=new TableRow(this);
ImageView img1=new ImageView(this);
tv1=new TextView(this);
CheckBox chk=new CheckBox(this);
ImageView img2=new ImageView(this);
ImageView img3=new ImageView(this);
img1.setImageResource(R.drawable.pdf);
img2.setImageResource(R.drawable.blank);
img3.setImageResource(R.drawable.blank);
tv1.setText(""+names[i]);
tbrow.addView(img1);
tbrow.addView(tv1);
tbrow.addView(chk);
tbrow.addView(img2);
tbrow.addView(img3);
tbrow.setId(i);
Log.e("TAG", "ID: "+tbrow.getId());
tv1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(Home.this, ""+tbrow.getId(),
Toast.LENGTH_SHORT).show();
Log.e("TAG", " clicked ID: "+tbrow.getId());
}
});
ll.addView(tbrow);
}
}
}
이, 마지막 행의 onClick()
이벤트가 트리거 : 다음 내 코드입니다. 텍스트보기 대신 테이블 행에 대해 onClick()
이벤트를 트리거하려고 시도했지만 헛되지 않았습니다.
어떤 행을 클릭했는지 알고 싶습니다. getID()
, setID()
이 작동하지 않습니다.
도와주세요.
테이블 행 @pallavi에 대해 OnClickListener를 시도 했습니까? – Abhi
tbrow.setOnClickListener (...);는 어떤 행을 클릭하려고 할 때'4 '를 표시합니다. – Pallavi
하지만 첫 번째 행이 고정 행과 같고 다른 행에 값이 포함되기를 원합니다. 목록 첫 번째 행에는 열 이름이 포함되고 다른 행에는 열 데이터가 포함됩니다. 그리드에서는 불가능합니다. 첫 번째 행이 상수입니까? – Pallavi