2016-02-10 3 views
1

Сначала я создать цвет фона для ListView предметов, как ниже, У меня есть два пользовательских ListView, как это:Android-Get Цвет фона ListView (пункт) программно

enter image description here

Мой заказ список для установки цвета :

Код:

@Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     Holder holder = new Holder(); 
     final View rowView; 
     rowView = inflater.inflate(R.layout.table_one, null); 
     holder.tv = (TextView) rowView.findViewById(R.id.textView1); 
     holder.tv.setText(result[position]); 
     rowView.setBackgroundColor(Color.WHITE); 
     rowView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if (position == 0) { 
        rowView.setBackgroundColor(Color.BLUE); 
        MainActivity.counter = Color.BLUE; 
       } else if (position == 1) { 
        rowView.setBackgroundColor(Color.YELLOW); 
        MainActivity.counter = Color.YELLOW; 
       } else if (position == 2) { 
        rowView.setBackgroundColor(Color.GREEN); 
        MainActivity.counter = Color.GREEN; 
       } else if (position == 3) { 
        rowView.setBackgroundColor(Color.MAGENTA); 
        MainActivity.counter = Color.MAGENTA; 
       } 
      } 
     }); 
     return rowView; 
    } 

Когда пользователь нажимает на ListView она меняется на цвет, как предписанных в технических заданиях выше IMA ge,

Мне нужно получить цвет списка, сохраненный в списке при нажатии кнопки.

Как я могу это сделать, нужна помощь пожалуйста

В моей MainActivity У меня есть кнопка,

check = (Button) findViewById(R.id.check); 
check.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Toast.makeText(getApplicationContext(), "Checked", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

Вам нужен фон отдельной строки или всего списка? – amalBit

+0

@amalBit Для просмотра всего списка –

+0

use settag и gettag – kgandroid

ответ

0

Если вы хотите, чтобы получить вид цвет фона, вы можете попробовать это

ListView listView = (ListView) findViewById (R.id.my_list);

для получения фоновой попытки Drawable listDrawableBackground = listView.getBackground();

если фон цвет, чтобы получить цвет, вы можете попробовать

ColorDrawable listViewColor = (ColorDrawable) listView.getBackground();

, чтобы получить фактический цвет, используйте

INT colorId = listViewColor.getColor();

Вы можете сравнить этот colorId с существующим цветом, как так:

if (colorID == R.color.blue) { Log("color is blue"); }

Другой путь будет добавить тег в ListView, а тег будет цвет, скажем

тег = "#ccc", и вы можете использовать

Строка colorCode = (String) listView.getTag();

теперь у вас есть colorCode, и вы можете использовать его в любом месте своей программы.

+0

Я не получил цвет, используя это, можно сказать, что я использую кнопку для получения всей строки списка. –

+0

Вы попробовали тег? трюк трюка отлично работает –

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