首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android listview交替行颜色但是默认光标选择

在这个问答内容中,我们讨论了如何在Android ListView中交替行颜色,并设置默认光标选择。

首先,我们可以通过在ListView的适配器中设置不同的背景颜色来实现交替行颜色。以下是一个简单的示例:

代码语言:java
复制
public class MyAdapter extends ArrayAdapter<String> {
    private int[] colors = {Color.parseColor("#FFFFFF"), Color.parseColor("#F0F0F0")};

    public MyAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        int colorPos = position % colors.length;
        view.setBackgroundColor(colors[colorPos]);
        return view;
    }
}

在这个示例中,我们定义了一个颜色数组,其中包含了两种颜色。然后,我们在getView()方法中根据位置来选择背景颜色。

接下来,我们可以设置默认光标选择。为此,我们可以在ListView的适配器中设置一个选中项。以下是一个简单的示例:

代码语言:java
复制
public class MyAdapter extends ArrayAdapter<String> {
    private int selectedItem = 0;

    public MyAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
    }

    public void setSelectedItem(int position) {
        selectedItem = position;
        notifyDataSetChanged();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        if (position == selectedItem) {
            view.setBackgroundColor(Color.parseColor("#FF0000"));
        } else {
            int colorPos = position % colors.length;
            view.setBackgroundColor(colors[colorPos]);
        }
        return view;
    }
}

在这个示例中,我们定义了一个selectedItem变量来存储选中项的位置。然后,我们在getView()方法中根据位置来设置背景颜色。如果位置与选中项位置相同,则将背景颜色设置为红色。

最后,我们可以在主Activity中设置适配器和选中项。以下是一个简单的示例:

代码语言:java
复制
public class MainActivity extends AppCompatActivity {
    private ListView listView;
    private MyAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = findViewById(R.id.listView);

        List<String> items = new ArrayList<>();
        items.add("Item 1");
        items.add("Item 2");
        items.add("Item 3");
        items.add("Item 4");
        items.add("Item 5");

        adapter = new MyAdapter(this, android.R.layout.simple_list_item_1, items);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener((parent, view, position, id) -> {
            adapter.setSelectedItem(position);
        });
    }
}

在这个示例中,我们首先创建了一个包含5个项的列表。然后,我们创建了一个MyAdapter实例,并将其设置为ListView的适配器。最后,我们在setOnItemClickListener()方法中设置了一个监听器,以便在用户点击项时更新选中项。

这就是如何在Android ListView中交替行颜色并设置默认光标选择的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券