2012-06-05 221 views
0

我有一個Gridview顯示從數組中獲取其內容的按鈕,我想在點擊/按下就可以改變這些按鈕的背景顏色。我試過onClick和onTouch,它確實進入了方法,但顏色不是背景未設置。我的代碼有什麼問題?請幫忙。如何更改gridView的按鈕顏色

private class ImageAdapter extends BaseAdapter { 
    private Context mContext; 

      btnView.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        Log.d("onClick","go"); 
        btnView.setBackgroundColor(Color.rgb(12,11,12)); 
        btnView.setBackgroundColor(Color.parseColor("#3614B3")); 

        Intent data = new Intent(); 
        data.setData(Uri.parse("PictureStyle" + position)); 
        setResult(RESULT_OK, data); 

       } 
      }); 

      btnView.setOnTouchListener(new View.OnTouchListener() { 
       public boolean onTouch(View v, MotionEvent event) { 
        Log.d("OnTouch","go2"); 
        btnView.setBackgroundColor(Color.parseColor("#3614B3")); 
        return false; 

       } 
      }); 


      btnView.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) { 
        // TODO Auto-generated method stub 
        Log.d("Touch listener",String.valueOf(position)); 
        btnView.setBackgroundColor(0xff00ff00); 
        Log.d("Touch listener","set"); 
        if (event.equals(MotionEvent.ACTION_DOWN)) { 
         btnView.setBackgroundColor(0xffff0000); 

            } 
        return false; 
       } 
      }); 
+0

'btnView.setBackgroundColor(Color.RED)註冊clickListener;'爲什麼'setOnTouchListener'我認爲點擊/按下然後設置'setOnClickListener' –

+0

使用選擇器...... –

+0

我可以設置背景,但不能當它被點擊。我試圖在按下按鈕而不是釋放時更改背景。 – Amblll

回答

3

v.setBackgroundColor(Color.rgb(12,11,12));嘗試在你的onClick

+0

謝謝。有效! :) – Amblll

0

你最好使用GridView.setOnItemClickListener,而不是在每個按鈕上