2013-07-11 83 views
0

我必須開發一個android應用程序。更改textview背景,直到在android中選擇另一個textview

我一直在使用下面的TextView:

<TextView 
    android:id="@+id/deals" 
    android:layout_width="wrap_content" 
    android:layout_height="50dip" 
    android:background="@drawable/best_deal_bg" 
    android:text="Deals" 
    /> 

這是這些TextView的背景:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/menu_active" android:state_enabled="true" 
     android:state_pressed="true" /> 
    </selector> 

在這裏,如果我需要點擊這些TextView的意思是tiime LY顯示背景。

但我希望需要輸出like.have來顯示背景,直到選擇另一個textview。

我該怎麼辦?請給我這些解決方案?

編輯:

我已成立這樣的背景下於Android的TextView onclik功能:

deals = (TextView) findViewById(R.id.deals); 
     deals.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 

     deals.setBackground(getResources().getDrawable(R.drawable.best_deal_bg)); 
     Intent intent = new Intent(getParent(),Deals.class); 
     TabGroupActivity parentActivity = (TabGroupActivity) getParent(); 
     parentActivity.startChildActivity("BestDeals",intent); 
       } 
    }); 

這裏我得到以下錯誤:

* 10月7日至11日:07:50.593 :E/AndroidRuntime(816):java.lang.NoSuchMethodError:android.widget.TextView.setBackground *

編輯:

deals = (TextView) findViewById(R.id.deals); 
     deals.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
    View lastclickedview=null; 
      if(v != lastclickedview) { 
      v.setBackground(getResources().getDrawable(R.drawable.best_deal_bg)); 
       lastclickedview.setBackground(getResources().getDrawable(R.drawable.message_icon)); 
     } 
     lastclickedview = v; 
     Intent intent = new Intent(getParent(),Deals.class); 
     TabGroupActivity parentActivity = (TabGroupActivity) getParent(); 
     parentActivity.startChildActivity("BestDeals",intent); 
       } 
     }); 

這裏我得到以下錯誤:

E/AndroidRuntime(883):java.lang.NoSuchMethodError:android.view.View.setBackground

什麼是在我的code.pls worng給我解決這些?

回答

3

動態改變它在你的代碼上的其他的TextView的選擇使用

yourTextView.setBackgroundDrawable(getResources().getDrawable(R.drawable.best_deal_bg)); 

,如果你想去除背景使用

yourTextView.setBackground(null); 
1

首先從onclickListener改變你的TextView的背景顏色,並創建一個查看對象保存最後點擊的文本視圖,第二次點擊texview檢查將最後點擊的視圖的背景更改爲默認顏色

textview.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       if(v != lastclickedview) { 
        v.setBackground("new color"); 
        lastclickedview.setBackground("default"); 
       } 
       //your Action 
       lastclickedview = v; 
      } 
     }); 
+0

我做了像:deals =(TextView)findViewById(R.id.deals); \t \t deals.setOnClickListener(新View.OnClickListener(){ \t \t公共無效的onClick(視圖v){ \t \t \t查看lastclickedview = NULL;! \t \t \t如果(V = lastclickedview){v.setBackground( getResources()。getDrawable(R.drawable.best_deal_bg)); lastclickedview.setBackground(getResources()。getDrawable(R.drawable。message_icon)); } lastclickedview = v; \t \t \t} \t \t});但得到消息:07-11 10:14:58.453:E/AndroidRuntime(883):java.lang.NoSuchMethodError:android.view.View.setBackground – user2218667