2

これは本当に奇妙な問題です私は無駄に戻ったいくつかのグーグル検索に出くわしました。

さて、ユーザーがアイテムをクリックしている間に選択したアイテムの色を変更する必要があるリストビューがあります。

この投稿は、リストビューの選択したアイテムの色を変更するのに役立ちました。これで、アイテムをクリックしている間に色を変更できるようになりました。しかし、リストビューをスクロールすると、色が選択範囲から外れます。

https://stackoverflow.com/a/12080202/1657093

たとえば、最初の行のリストビューアイテムが選択されている場合、アイテムの色をスクロールしている間、最後のアイテムも選択され、選択したことのないアイテムに移動し続けます。

これがリストビューです

<ListView
     android:id="@+id/loadedlist"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_above="@+id/horizontalScroll"
     android:layout_alignParentLeft="true"
     android:layout_below="@+id/Title"
     android:layout_toLeftOf="@+id/sidepanel"
     android:scrollingCache="false">

    </ListView>

アレイアダプタを使用してリストビューにデータを入力します

ringlist.setAdapter(new ArrayAdapter
(this、android.R.layout.simple_list_item_1、rings));

リストビューのonclickメソッドを使用して、色を設定します。

ringlist.setOnItemClickListener(new OnItemClickListener() {
     @Override
    public void onItemClick(AdapterView<?> parent, View view, int pos,long id) {
        // TODO Auto-generated method stub
    try{
    String con;
        String s =  ringlist.getItemAtPosition(pos).toString();
        con = s.toLowerCase();
    String selectedFromList = con;
            int resId = getResources().getIdentifier(selectedFromList, "raw",    
            "com.example.android");

            }
    if (row != null) {
            row.setBackgroundColor(Color.BLACK);
            }

           row = view;
               view.setBackgroundColor(Color.GREEN);
                }

       }  

        });

上記のコードは機能しますが、リストをスクロールしているときに問題が発生します

ご意見をお聞かせください。

4

2 に答える 2