2012-10-17 74 views
0

我將tableRow的動態添加到tableLayout中。TableRow的視圖禁用TableRow的onClickListener

然後,我將TextView添加到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

您可以使用:

Activity.dispatchTouchEvent(MotionEvent)(爲父活動)

或:

ViewGroup.onInterceptTouchEvent(MotionEvent)(父佈局)

攔截運動事件之前,他們分赴他們的孩子。

+0

那麼MotionEvent呢該怎麼辦?對不起我的無知... = x –