2015-01-16 1 views
1

Я пытаюсь достичь, как указано в названии. Если фоновое изображение моего макета указано #F0F0F0, тогда щелчок должен быть отключен. Что-то вроде этого:Отключить клик, если цвет фона определенного типа

final RelativeLayout row = (RelativeLayout) fragmentView.findViewById(R.id.row); 

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int position, long mallId) { 

      //disable click if background color is #F0F0F0 
      if(row.getBackground() is #F0F0F0){ 
       //do nothing 
      } 
      else { 
      Intent intent = new Intent(getActivity(), ShopActivity.class); 
      intent.putExtra("MALL_ID", (int) mallId); 
      startActivity(intent); 
      } 
     } 
    }); 

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/row" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#F0F0F0" 
    android:paddingBottom="7dp"> 
    ... 
</RelativeLayout> 
+1

и может получить цвет фона зрения по этому коду ColorDrawable buttonColor = (ColorDrawable) row .getBackground(); – Nithinlal

+0

, затем, проверив условие, вы можете включить или отключить щелчок – Nithinlal

+0

@Nithinlal, но как я могу сравнить его с шестнадцатеричным значением – stud91

ответ

0
if(((ColorDrawable)row.getBackground()).getColor() == Color.parseColor("#F0F0F0")){ 
    //do nothing 
} 
else{ 
    //... 
} 
0

попробовать это:

ColorDrawable colorDrawable=(ColorDrawable)row.getBackground(); 

    if(colorDrawable.getColor() != 0xF0F0F0){ 
     //do your work. 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^