リストビューの行の背景色を永続的に変更するにはどうすればよいですか?

サンT

リストビューの行の背景色を変更したい。今私はこれをやっています

  public void onItemClick(AdapterView<?> parent, final View view,
                                int position, long id) {


        view.setBackgroundColor(Color.parseColor("#ff0000"));//                

        }

これは機能しますが、リストビューを下にスクロールして背景色が変更された行が見えないようにしてから上にスクロールすると、行の色は変更されなくなります。

これが起こらないように、行の背景色を永続的に設定する方法はありますか?

一口

あなたがしなければならないことは、カスタムを作ることであるListViewあなた自身とrow_layout.xml、ファイルCustomListViewObjectがあることは、boolean要素がクリックされたかどうか、そして最後に、されたかどうかを確認するためにCustomListView、行要素が選択されているかどうかをチェックします。

行レイアウトrow_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="12dp"
        android:text="Large Text"
        android:id="@+id/textfield"/>

</LinearLayout>

行クラスは次のようになります。

public class CustomRowClass {

    private String input;
    private boolean selected;

    public BallotEntryClass() {
    }

    public BallotEntryClass(String input, boolean selected) {
        this.input = input;
        this.selected = selected;
    }

    //setters and getters here
}

そして最後に、あなたのアダプター:

public class CustomListViewAdapter extends BaseAdapter {

    private ArrayList<CustomRowClass> listData;
    private LayoutInflater layoutInflater;
    private Context context;

    public CustomListViewAdapterBallot(Context context, ArrayList<CustomRowClass> listData) {
        this.listData = listData;
        layoutInflater = LayoutInflater.from(context);
        this.context = context;
    }

    @Override
    public int getCount() {
        return listData.size();
    }

    @Override
    public Object getItem(int position) {
        return listData.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;

        if (convertView == null) {

            convertView = layoutInflater.inflate(R.layout.row_layout, null);
            holder = new ViewHolder();

            holder.input = (TextView) convertView.findViewById(R.id.textfield);

            convertView.setTag(holder);
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }

        holder.textfield.setText(listData.get(position).getInput());

        //check here if state = 1 which means selected state
        if(listData.get(position).isSelected()){
            convertView.setBackgroundColor(Color.GREEN);
        }
        else{
            convertView.setBackgroundColor(Color.WHITE);
        }

        return convertView;
    }

    static class ViewHolder {
        TextView input;
    }
}

以上です。これを使用するには、次のようにします。

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

//create your listView with your custom object
ArrayList<CustomRowClass> data = new ArrayList<>();


for(int i = 0 ; i < 10 ; i ++){
    CustomRowClass entry = new CustomRowClass("Name " + i, false);
    data.add(entry);
}

//create your adapter, use the nameAndAgeList ArrayList
CustomListViewAdapter customAdapter = new CustomListViewAdapter(this, data);

//get your listView and use your adapter
listView.setAdapter(sampleListView);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        CustomRowClass selection = (CustomRowClass) listView.getItemAtPosition(position);
        selection.setSelected(true);
        adapter.notifyDataSetChanged();
    }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

リストビューのすべてのアイテムの背景色を変更するにはどうすればよいですか?

分類Dev

AlertDialogビューの背景色を変更するにはどうすればよいですか?

分類Dev

SwiftUIでリストの背景色を変更するにはどうすればよいですか?

分類Dev

リストビュー内の行の背景を変更するにはどうすればよいですか?

分類Dev

ボタン(または可能であればメソッド)を使用せずに、単一の行を無効にしてリストビューの背景色を変更するにはどうすればよいですか?

分類Dev

このヘビゲームの背景色を変更するにはどうすればよいですか?

分類Dev

xtermのメニューの背景色を変更するにはどうすればよいですか?

分類Dev

xtermのメニューの背景色を変更するにはどうすればよいですか?

分類Dev

ステータスバーの背景色を変更するにはどうすればよいですか?

分類Dev

kivy pythonでツリービューの背景色を変更するにはどうすればよいですか?

分類Dev

リサイクラービューでアイテムの背景色を変更するにはどうすればよいですか?

分類Dev

SwiftUIでステッパーの背景色を変更するにはどうすればよいですか?

分類Dev

デスクトップの背景色を変更するにはどうすればよいですか?

分類Dev

マウスオーバー時にRDLCレポートの行の背景色を変更するにはどうすればよいですか?

分類Dev

OpenGLサーフェスの背景色を変更するにはどうすればよいですか?

分類Dev

matplotlibチャートの背景色を変更するにはどうすればよいですか?

分類Dev

Androidの別のアクティビティからビューの背景色を変更するにはどうすればよいですか?

分類Dev

ObjectListViewの行の背景色を変更するにはどうすればよいですか?

分類Dev

ホバー時にリストボックスアイテムの背景色を変更するにはどうすればよいですか?

分類Dev

選択したときにコレクションビューのセルの背景色を変更するにはどうすればよいですか?

分類Dev

ggplotの凡例ボックスの背景色を変更するにはどうすればよいですか?

分類Dev

JTableのヘッダーの背景色を変更するにはどうすればよいですか?

分類Dev

iOS Swift-テーブルビューの背景色を変更するにはどうすればよいですか?

分類Dev

SwiftUIでフォームの背景色を変更するにはどうすればよいですか?

分類Dev

フラッターでappbarの背景色を変更するにはどうすればよいですか?

分類Dev

フラッターでappbarの背景色を変更するにはどうすればよいですか?

分類Dev

VS Codeでガターの背景色を変更するにはどうすればよいですか?

分類Dev

Word 2010で1ページの背景色を変更するにはどうすればよいですか?

分類Dev

WSL Ubuntu-CMD / PowerShellのディレクトリリストテキストの背景色を変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    リストビューのすべてのアイテムの背景色を変更するにはどうすればよいですか?

  2. 2

    AlertDialogビューの背景色を変更するにはどうすればよいですか?

  3. 3

    SwiftUIでリストの背景色を変更するにはどうすればよいですか?

  4. 4

    リストビュー内の行の背景を変更するにはどうすればよいですか?

  5. 5

    ボタン(または可能であればメソッド)を使用せずに、単一の行を無効にしてリストビューの背景色を変更するにはどうすればよいですか?

  6. 6

    このヘビゲームの背景色を変更するにはどうすればよいですか?

  7. 7

    xtermのメニューの背景色を変更するにはどうすればよいですか?

  8. 8

    xtermのメニューの背景色を変更するにはどうすればよいですか?

  9. 9

    ステータスバーの背景色を変更するにはどうすればよいですか?

  10. 10

    kivy pythonでツリービューの背景色を変更するにはどうすればよいですか?

  11. 11

    リサイクラービューでアイテムの背景色を変更するにはどうすればよいですか?

  12. 12

    SwiftUIでステッパーの背景色を変更するにはどうすればよいですか?

  13. 13

    デスクトップの背景色を変更するにはどうすればよいですか?

  14. 14

    マウスオーバー時にRDLCレポートの行の背景色を変更するにはどうすればよいですか?

  15. 15

    OpenGLサーフェスの背景色を変更するにはどうすればよいですか?

  16. 16

    matplotlibチャートの背景色を変更するにはどうすればよいですか?

  17. 17

    Androidの別のアクティビティからビューの背景色を変更するにはどうすればよいですか?

  18. 18

    ObjectListViewの行の背景色を変更するにはどうすればよいですか?

  19. 19

    ホバー時にリストボックスアイテムの背景色を変更するにはどうすればよいですか?

  20. 20

    選択したときにコレクションビューのセルの背景色を変更するにはどうすればよいですか?

  21. 21

    ggplotの凡例ボックスの背景色を変更するにはどうすればよいですか?

  22. 22

    JTableのヘッダーの背景色を変更するにはどうすればよいですか?

  23. 23

    iOS Swift-テーブルビューの背景色を変更するにはどうすればよいですか?

  24. 24

    SwiftUIでフォームの背景色を変更するにはどうすればよいですか?

  25. 25

    フラッターでappbarの背景色を変更するにはどうすればよいですか?

  26. 26

    フラッターでappbarの背景色を変更するにはどうすればよいですか?

  27. 27

    VS Codeでガターの背景色を変更するにはどうすればよいですか?

  28. 28

    Word 2010で1ページの背景色を変更するにはどうすればよいですか?

  29. 29

    WSL Ubuntu-CMD / PowerShellのディレクトリリストテキストの背景色を変更するにはどうすればよいですか?

ホットタグ

アーカイブ