2012-01-15 14 views
4

スクロールビュー内のリストビューがオプションではないことを読んだので、テーブルをシミュレートするビューを追加する線形レイアウトを作成しました:) したがって、wrap_contentスクロールビュー内。アンドロイドの子ビューなしプレス状態

問題は、私が追加しているのは、以前のようにグラフィックスを変更するためにプレス状態を起動できないため、リストビューにあったときにうまくいきました。

if (arrayWorksWith.size()!=0) 
    { 
     this.listAdapter = new WorksWithListAdapter(this, R.layout.works_with_cell, R.id.lblItemTitle, arrayWorksWith); 

     for (int i=0; i<arrayWorksWith.size(); i++) 
     { 
      View v = this.listAdapter.getView(i, null, layoutTblWorksWith); 
      v.setTag(new Integer(1000 + arrayWorksWith.get(i).getId())); 
      v.setOnClickListener(this); 

      layoutTblWorksWith.addView(v); 
     } 
    } 

問題は、クリックイベントが発生しますが、私はすべての視覚的なフィードバックを持っていないということです。

は、私は、次があります。そのビューの中に、私は、次の描画可能に設定された背景とImageViewのを持っている:

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android">  

<item android:state_pressed="true" android:drawable="@drawable/r1" /> <!-- pressed -->  
<item android:state_focused="true" android:drawable="@drawable/r1" /> <!-- focused --> 
<item android:drawable="@drawable/transparent_background" /> <!-- default --> 

</selector> 

はまた、私はちょうど私が追加していますが、これは同様に失敗した:(

   v.setOnTouchListener(new OnTouchListener() 
       { 
        public boolean onTouch (View v, MotionEvent event) 
        { 
         TextView lblCategoryTitle = (TextView)v.findViewById(R.id.lblItemTitle);      

         if(event.getAction() == MotionEvent.ACTION_DOWN) 
         { 
          lblCategoryTitle.setTextColor(R.color.white); 
         } 
         else if (event.getAction() == MotionEvent.ACTION_UP) 
         { 
          lblCategoryTitle.setTextColor(R.color.textLabel_blue); 
         } 

         return false; 
        } 
       }); 
ビューにタッチリスナーを試してみました

だから私はイメージが視覚的なフィードバックを与える背景を変えましたが、私は今それを作成し、それが働いて停止のLinearLayoutにそれを追加していたときにセルにタップすると、このコードは、リストビューの中にあったとき。

任意のアイデア?私は、フォーカス可能で、クリック可能で、重複した親状態ですが、運がありません。

答えて

0

ListViewをOnClickListListenerではなく、OnClickListListenerに設定する必要があります。

関連する問題