0

listview 由一个按钮和一个 textview 组成,每行有 10 行。当从 onCreate 方法加载列表视图时,我只需要从列表视图中隐藏第二行按钮项。我编写了手动按钮单击隐藏方法,它工作得很好,但我需要在加载列表视图时自动完成。

我的手动方法。单击任何按钮后,它变得不可见。

 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 隐藏列表视图加载按钮的代码,但它不能正常工作。使用此代码我可以访问该按钮,但它不会隐藏自己。

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);


         }

     }
  }
4

1 回答 1

0

也许更好的解决方案是从传递给适配器的数据数组中删除第二个元素,然后调用notifyDataSetChanged().

于 2013-09-12T19:22:08.603 回答