android - 如何从 android 微调器中的项目 ID 获取项目的位置?

标签 android

我需要在知道项目 ID 的情况下获取项目在微调器中的位置。我已尝试使用 Spinner 和 SpinnerAdapter 类来完成此操作,但那里没有相应的方法。

谢谢,

亚历山大

最佳答案

试试这个:

static final int getAdapterPositionById(final Adapter adapter, final long id) throws NoSuchElementException {
    final int count = adapter.getCount();

    for (int pos = 0; pos < count; pos++) {
        if (id == adapter.getItemId(pos)) {
            return pos;
        }    
    }

    throw new NoSuchElementException();
}

它足够通用,适用于任何支持 ID 的适配器类型(例如,以有意义的方式实现Adapter#getItemId(int position))

关于android - 如何从 android 微调器中的项目 ID 获取项目的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903961/

相关文章:

使用 Dagger 进行 Android 功能测试

android - 移动设备模拟如何工作?

android - ScrollView 内的滚动文本不起作用

Android - 将@aar 包中的类脱糖

android 2.2 WebView和WebViewClient RTSP问题

android - 以编程方式更改 Spinner 样式

java - 在 Android 中使用 MediaPlayer 播放 mp3 文件列表

java - 崩溃到主 Activity 屏幕

java - Java 中的日期总是 1 小时后?

java - 将ArrayList保存到内存并读取