当前位置:编程学习 > wap >>

100分求问,tablelayout中删除tablerow

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


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

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));
}
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,