我正在将tableRow动态添加到tableLayout中。
然后,我将TextViews添加到TableRows中,然后,我必须单击tableRow的角来获取TableRow的onClickListener。 那是因为它实际上是获取TableRow的内部视图的onClickListener。(textview的onclickListener)
我的代码:
Cursor resultado = dh.fetchAllFornecedores();//buscando no banco
resultado.moveToFirst();
for(int i=0;i<resultado.getCount();i++){
TableRow tr= (TableRow) getLayoutInflater().inflate(R.layout.tablerowfornecedor, null);
HorizontalScrollView hsc= (HorizontalScrollView)tr.getChildAt(0);
LinearLayout linearl= (LinearLayout)hsc.getChildAt(0);
tr.setClickable(true);
tr.setOnClickListener(this);
for(int j=0;j<linearl.getChildCount();j++){ //para cada textfild dos Fornecedores
TextView textv=(TextView)linearl.getChildAt(j);
textv.setClickable(false);
textv=(TextView)linearl.getChildAt(j);
if(j==0)textv.setText(resultado.getString(resultado.getColumnIndex("nome")));
else if(j==1)textv.setText(resultado.getString(resultado.getColumnIndex("doc1")));
else if(j==2)textv.setText(resultado.getString(resultado.getColumnIndex("rua"))+", "+(resultado.getString(resultado.getColumnIndex("numero"))));
else if(j==3)textv.setText(resultado.getString(resultado.getColumnIndex("id_fornecedor")));
}
tl.addView(tr,tlp);
trs.add(tr);
resultado.moveToNext();
}
dh是我的数据库类。
如何“禁用”TableRow内部视图中的点击?
答案 0 :(得分:0)
您可以使用:
Activity.dispatchTouchEvent(MotionEvent)
(针对父母活动)
或:
ViewGroup.onInterceptTouchEvent(MotionEvent)
(对于父级布局)
在发送给他们的孩子之前拦截动议事件。