使用布尔值更改ImageView背景

时间:2015-10-12 09:07:56

标签: android

我有ImageView。我希望此ImageView的背景与布尔值相关。

布尔值是一个静态值,可以更改项目中的每个位置,但GridView只在ImageView中。

这意味着当布尔值发生变化时,y = rand(20,3); aa= unidrnd(2,20,3) - 1; val = ( aa & y<1.366e-04) | (~aa & y<8.298e-04); aa(val) = ~aa(val); 的背景也应该改变。

2 个答案:

答案 0 :(得分:1)

请检查此答案

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:drawable/ic_dialog_dialer" android:state_pressed="true"/>
    <item android:drawable="@android:drawable/ic_dialog_map" />
</selector>

答案 1 :(得分:1)

在适配器中(这是一个示例)

public View getView(int position, View convertView, ViewGroup parent) {
      ImageView imageView;

      if (convertView == null) {
         imageView = new ImageView(mContext);
         imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
         imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      } 
      else 
      {
         imageView = (ImageView) convertView;
      }


      // Checking your boolean
     if (yourBoolean) {
           imageView.setImageResource(AAA);// AAA is your background image
     } else {
          imageView.setImageResource(BBB);// BBB is another your background image
     }

      return imageView;
   }

在您的活动中:

GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new YourAdapter(this));

在改变布尔变量的方法中:

gridView.getAdapter().notifyDataSetChanged();