2015-10-12 5 views
-2

У меня есть ImageView. Я хочу, чтобы фон этого ImageView был связан с булевым значением.Change ImageView background with boolean

boolean value - статическое значение, которое может меняться каждый раз в моем проекте, но ImageView находится только в GridView.

Это означает, что при изменении логического значения необходимо изменить фон ImageView.

+0

Вам нужно показать нам, что вы пробовали – Eoin

ответ

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(); 
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> 
+0

нет, это не моя точка. Например, вы думаете, что у меня есть статический булев в классе General.myBoolean. Я хочу, когда я изменил этот логический фон моего изображения автоматически change.I думаю, что это возможно с селектором, но я не знаю, как –