本帖最后由 hexxiao 于 2012-05-09 20:24:47 编辑

解决方案 »

  1.   

    --------------------------start-----------------------------
    使用removeView(view)方法,里面的那个view是你要删除的tablerow。
    table.removeViews(int start,int count)的意思是删除这个table里面的子控件,从start个开始(包括start)删除count个,
    例如:
    <aa>
      <bb>
        <ccc>
        </ccc>
      </bb>
      <bb>
      </bb>
      <bb>
      </bb>
    </aa>
    设aa就是table,它的子控件是3个bb,cc是第一个bb的子控件,
    你调用aa.removeViews(0,2)的话最后就只剩下
    <aa>
      <bb>
      </bb>
    </aa>
    ----------------------------over--------------------------------
      

  2.   

    1楼说的是一种方法。但是我想你说的意思是,有若干行,然后每行后面都有个删除键,你点哪行的删除键,就删除哪一行吧?
    这样的话,一楼的方法就不是很好用了。这样你就必须判断每行的id。
    你可以通过遍历你的TextView中的内容,找到你所点击的那一行,之后再把该行的id设置成一个特殊的id(比如说1000000),然后你再通过removeViewAt(Int id)方法来删除你所指定的那一行。
    这样说楼主能明白么?
      

  3.   


    请问2L这个遍历TextView 该怎么遍历。。每个TextView 都是我是自己用addView动态加载的视图
      

  4.   


    for (int i = 0; i < 5; i++) {
    TableRow row = new TableRow(this);
    TextView t2=new TextView(this);
    t2.setText("test"+i);
    final Button bu = new Button(this);
    bu.setId(i); //将当前row设置为当前Button的ID
        bu.setBackgroundResource(R.drawable.del);
        bu.setOnClickListener(new Button.OnClickListener() {         @Override
            public void onClick(View v) {
             //根据当前Button的ID来删除当前row
             table.removeViewAt(bu.getId());
            }     });
        
    row.addView(t2);
    row.addView(bu);
    table.addView(row, new TableLayout.LayoutParams(WC, WC));
    }