listview包含每行一个按钮和一个textview,共有10行。我只需要从onCreate方法加载listview时只隐藏listview中的第二行按钮项。我编写了手动按钮单击隐藏方法,它完美地工作但我需要在listview加载时自动完成。
我的手动方法。点击任何按钮后,它变得不可见。
public void HideButton(View v){
LinearLayout llMain = (LinearLayout)v.getParent();
TextView row=(TextView)llMain.getChildAt(0);
Button deletebtn = (Button)llMain.findViewById(R.id.deleteButton);
deletebtn.setVisibility(v.INVISIBLE);
}
同样在我编码的下面隐藏了来自onCreate的listview加载按钮,但它无法正常工作。使用此代码我可以访问按钮但它不隐藏自己。
private void ButtonClick() {
View v;
TextView row;
ArrayList<String> mannschaftsnamen = new ArrayList<String>();
TextView et;
for (int i = 0; i < lv.getCount(); i++) {
v = lv.getAdapter().getView(i, null, null);
et = (TextView) v.findViewById(R.id.item1);
String row_no=et.getText().toString();
int idd = Integer.valueOf(row_no);
if(idd == 2){
// LinearLayout llMain = (LinearLayout)v.getParent();
Button deletebtn = (Button)v.findViewById(R.id.deleteButton);
deletebtn.setVisibility(v.INVISIBLE);
}
}
}
答案 0 :(得分:0)
或许更好的解决方案是从传递给适配器的数据数组中删除第二个元素,然后调用notifyDataSetChanged()
。