【问题标题】:change textview background until select another textview in android更改textview背景,直到在android中选择另一个textview
【发布时间】:2013-07-11 04:11:11
【问题描述】:

我必须开发一个安卓应用程序。

我使用下面的文本视图:

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

这是这些文本视图的背景:

 <?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>

这里.,如果我必须点击这些文本视图意味着时间会显示背景。

但我希望需要输出 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);
               }
    });

这里出现以下错误:

*07-11 10: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

我的代码中有什么问题。请给我解决这些问题???

【问题讨论】:

    标签: android selector textview android-adapter


    【解决方案1】:

    在选择另一个 TextView 使用时在代码中动态更改它

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

    如果你想删除背景使用

    yourTextView.setBackground(null);
    

    【讨论】:

      【解决方案2】:

      首先从 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;
                  }
              });
      

      【讨论】:

      • 我完成了 :deals = (TextView) findViewById(R.id.deals); deal.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { 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; } });但收到消息:07-11 10:14:58.453: E/AndroidRuntime(883): java.lang.NoSuchMethodError: android.view.View.setBackground
      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多