1

リストビューの選択項目に色を設定したい リストビューの項目と色を設定しました。

 { 
    setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.simple_list_item_checkable_1, android.R.id.text1,Data.PERSON));

    ListView listView = getListView();
    listView.setTextFilterEnabled(true);

    listView.setOnItemLongClickListener(new OnItemLongClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

    int childCount = parent.getChildCount();
    for (int i = 0; i < childCount; i++) {
    View listItem = parent.getChildAt(i);

    if (listItem != null)
    parent.setBackgroundColor(0x00000000);  
    view.setBackgroundColor(Color.RED);     
    }
      });       
 }                                                                                           
4

5 に答える 5

0

最小APIレベル11の場合:属性android:state_activate = true / falseを使用してセレクターファイルを作成 し、リストアイテムの背景として設定します。コードも含めます:listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

その他のAPIレベルの場合:カスタム配列アダプターを作成し、それに以下のメソッドを追加する必要があります。最初に選択された位置=-1; //これは、リストが初めてロードされるときに選択を削除するために行われます。

public void setseletion(int position) {
   this.selectedPosition = position; // selected position in the list
   notifyDataSetChanged();
}

getView()メソッドでは、リストの設定とは別に、これも含めます

public View getView(int position, View convertView, ViewGroup parent) {
if (position == selectedPosition) {
        convertView.setBackgroundColor(getResources().getColor(
                    R.color.gray));
} else {
        convertView.setBackgroundColor(getResources().getColor(
                    R.color.transparent));
}

最後に、これをリストビューのOnItemClickListenerに含めます。

public void onItemClick(AdapterView<?> arg0, View view, int position,
        long arg3) {
    MyArrayAdapter adapter = (MyArrayAdapter) listView.getAdapter();
    adapter.setseletion(position);
}
于 2012-09-17T10:33:52.460 に答える
0

以下を使用できます。

listView を含む XML で以下の属性を宣言します。

android:listSelector="#AF5c12" // any color code to set color to selected item from list.
于 2012-09-17T09:01:05.487 に答える
0

listSelector属性を使用して、選択したアイテムの色を設定します:

<ListView android:id="@+id/list" 
  android:layout_width="fill_parent"
  android:layout_height="wrap_content" 
  android:layout_gravity="center"
  android:divider="@null" 
  android:dividerHeight="0dip"
  android:listSelector="@drawable/list_selector" />
于 2012-09-17T09:02:14.487 に答える
0

選択したアイテムの色を xml で設定できます:

  <ListView
      android:listSelector="@android:color/holo_red_dark"
  </ListView
于 2012-09-17T09:02:14.763 に答える
0

次のようにします。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

   <item android:state_pressed="true">
       <shape  >
         <solid android:color="#929292" />
       </shape>
   </item>



   <item>
     <shape  >
        <solid android:color="#FFFFFF" />
     </shape>
   </item>

 </selector>

このプロパティを使用するandroid:state_pressed="true"と、選択した項目を押したときにその色が作成されます。

于 2012-09-17T09:03:10.283 に答える