2014-01-11 104 views
1

嗨我試圖改變列表項的背景顏色,當它被按下時我需要以編程方式做它,因爲它需要設置的顏色是從一個字符串在我的活動。有誰知道如何做到這一點?以編程方式設置列表項的狀態按下的背景顏色

我已經嘗試設置視圖的背景,但這只是改變背景顏色不只是當它被選中。

public void onItemSelected(View v, int position, JSONObject itemDict, String bgColor) { 
     // TODO Auto-generated method stub 

     if( v.isActivated() == true){ 
      v.setBackgroundColor(Color.parseColor(bgColor)); 
      TextView title = (TextView) v.findViewById(R.id.name); 
      TextView docType = (TextView) v.findViewById(R.id.doctype); 


      if(title != null){ 
      title.setTextColor(Color.parseColor(bgColor)); 
      } 

      if(docType != null){ 
      docType.setTextColor(Color.parseColor("#FFFFFF")); 
      } 

     } 

     Intent sectionMain = new Intent(this, SectionDetail.class); 
     sectionMain.putExtra("color", bgColor); 
     sectionMain.putExtra("fullDict", itemDict.toString()); 

     startActivity(sectionMain); 

    } 

回答

4

您是否嘗試過設置OnTouchListener

view.setOnTouchListener(new OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 
     if (event.getAction() == MotionEvent.ACTION_DOWN) { 
      v.setBackgroundColor(pressColor); 
     } else if (event.getAction() == MotionEvent.ACTION_UP) { 
      v.setBackgroundColor(normalColor); 
     } 
    } 
    return false; 
}); 

假設你已經定義pressColornormalColor

相關問題