나는 HorizontalScrollView
을 사용하는 하나의 Android 애플리케이션을 개발했으며 HorizontalScrollView
은 하나의 자식을 LinearLayout
으로 사용합니다.LinearLayout의 동적 추가 버튼, 버튼 클릭 이벤트 문제
이제는 런타임시 LinearLayout
에 단추를 추가하고 싶습니다.
버튼을 성공적으로 추가했는데, 문제는 내 버튼 클릭 이벤트가 Android에서 작동하지 않는다는 것입니다.
ArrayList listClassItems = objCompany.getListClassItems();
Button[] btnCategory = new Button[listClassItems.size()];
for(int i=0;i<listClassItems.size();i++)
{
System.out.println("OTHER_CLASS LENGTH : " + listClassItems.size());
System.out.println("CLASS ID : " + listClassItems.get(i).getClassId());
System.out.println("CLASS NAME : " + listClassItems.get(i).getClassName());
btnCategory[i] = new Button(myContext);
btnCategory[i].setId(i);
btnCategory[i].setTag(listClassItems.get(i).getClassId());
btnCategory[i].setText(listClassItems.get(i).getClassName());
btnCategory[i].setClickable(true);
btnCategory[i].setPadding(10,10,10,10);
의 LayoutParams layParams = 새의 LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 대신 배열의
if(i!=0 || i!=listClassItems.size()-1)
{
layParams.leftMargin = 10;
layParams.rightMargin = 10;
}
tabRowBottom.addView(btnCategory,layParams);
btnCategory[i].setOnClickListener(null);
tabRowBottom.addView(btnCategory[i]);
btnCategory[i].setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(myContext, "=== Button CLICKED ===",Toast.LENGTH_SHORT).show();
btnCategory.setBackgroundColor(Color.BLACK);
}
});
}
문제가 발생한 부분을 게시하십시오 .. –
게시물에 향상된 형식을 기록해 두십시오. '수정'을 클릭하여 소식을 개선하는 데 사용한 마크 업을 볼 수 있습니다. 나중에 참조 할 수 있도록 서식 도움말이 [here] (http://stackoverflow.com/editing-help)에서 찾을 수 있습니다. – Matt
일부 코드 블록 게시 –