2014-11-11 6 views
0

Я создал проект андроида, в котором у меня есть список с 6 элементами. Я хочу, чтобы каждый раз, когда я выбираю любой элемент из списка, он получает оранжевый цвет, который остается до тех пор, пока я не нажму кнопку «Отправить».Как изменить цвет выбранного элемента в ListView?

код:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.SafeWalkApp.SecondActivity" > 

    <ListView 
     android:id="@+id/sampleListView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:layout_marginTop="5dp" 
     android:background="@android:color/transparent" 
     android:cacheColorHint="@android:color/transparent" 
     android:divider="#CCCCCC" 
     android:dividerHeight="1dp" 
     android:entries="@array/vol_list" > 
    </ListView> 

    <Button 
     android:id="@+id/onsubmit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:text="@string/submit" /> 

</RelativeLayout> 

это мой XML-код. Я попытался добавить цвет к color.xml, но это покажет мне сообщение об ошибке и в основном это для backgroung. Поэтому, пожалуйста, помогите мне в этом.

+0

использовать селектор поиск по списку селектор –

+0

как его использовать? @PramodYadav – suganya

+0

его для поиска вы найдете много примеров –

ответ

1

Ну, если вы используете пользовательский ListView и был элемент установлен пользовательским адаптер, то вы можете изменить цвет элемента списка следует в

NLIST = (ListView) findViewById (android.R.id.yourlistname); nList.setOnItemClickListener (новый OnItemClickListener() {

@Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 

    } 
}); 

В выше функции NLIST список, в котором вы хотите внести изменения и в его на клик у слушателя вы можете получить выбранный вид элемента, как и в его параметры, как View arg1, и из этого вы можете получить линейный макет и все другие элементы управления и внести изменения в любой цвет управления, текст и т. д., как вы хотите

получите представление здесь и установите любой цвет, который вы хотите, получив представление и установив его фон и т. д. Здесь я не могу написать весь код, но надеюсь, что вы получите мой?

+0

Я не могу получить это, где я добавлю линию, которую предположил ..? и что вы подразумеваете под «получить представление здесь» .. thnx – suganya

0
  1. Создайте класс, который содержит всю информацию, необходимую для вашего элемента-адаптера + логическую переменную, которую вы собираетесь проверять в адаптерах getView, если переменная будет истиной, измените цвет на оранжевый, иначе нормальный цвет.
  2. in onItemНажмите, чтобы найти правильный объект в списке, который вы передали адаптеру, и измените его логическое значение.
  3. после этого обновите список ссылок адаптеров.
  4. Вызовите notifyDataSetChanged() на свой адаптер. Теперь согласно пункту (1) адаптер будет проверять логическое значение элемента и изменить его цвет на оранжевый.
Смежные вопросы