带有自定义 ArrayAdapter 的微调器,适用于不显示所选项目的对象

2023-11-24

我有一个自定义 ArrayAdapter 来表示微调器控件上的对象,我可以加载我的项目 列表并显示它以供选择,但是当实际选择发生时,微调器什么也不显示。

活动代码:

public MetroData metroData;
private Spinner spinner;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    metroData = new MetroData();
    spinner = (Spinner) findViewById(R.id.spinner1);
    StopArrayAdapter dAdapter = new StopArrayAdapter(this, metroData.Stops);

    spinner.setAdapter(dAdapter);
}

停止数组适配器:

public class StopArrayAdapter extends ArrayAdapter<MetroStop> {

private List<MetroStop> items;
private Activity activity;

public StopArrayAdapter(Activity activity, List<MetroStop> items) {
    super(activity, android.R.layout.simple_list_item_1, items);
    this.items = items;
    this.activity = activity;
}

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    TextView v = (TextView) super.getView(position, convertView, parent);

    if (v == null) {
        v = new TextView(activity);
    }
    v.setTextColor(Color.BLACK);
    v.setText(items.get(position).getName());
    return v;
}

@Override
public MetroStop getItem(int position) {
    return items.get(position);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;

    if (v == null) {
        LayoutInflater inflater = activity.getLayoutInflater();
        v = inflater.inflate(R.layout.view_spinner_item, null);
    }
    TextView lbl = (TextView) v.findViewById(R.id.text1);
    lbl.setTextColor(Color.BLACK);
    lbl.setText(items.get(position).getName());
    return convertView;
}
}

微调视图项目模板:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textColor="#222"/>

关于为什么所选项目视图不起作用有什么想法吗?顺便说一句,我也用普通的 ArrayAdapter 尝试过,结果相同。

Update似乎视图已生成,但在层次结构查看器上查看,视图未渲染,测量/布局/绘制 = n/a。


我发现出了什么问题。由于我正在获取数据spinner从互联网上,我需要触发notifyDataSetChanged(),即使没有这个内容spinner已更新。看来所选项目视图没有收到通知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有自定义 ArrayAdapter 的微调器,适用于不显示所选项目的对象 的相关文章

  • GCM 向主题发送消息:TOO_MANY_TOPICS 错误

    以前 GCM 每个应用程序有 100 万个主题订阅的限制 我发现他们现在已经取消了这一限制 基于发布 订阅模型 主题消息支持 每个应用程序无限订阅 https developers google com cloud messaging to
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • 从 Throwable 获取错误代码 - Android

    我怎样才能从错误代码可投掷 https developer android com reference java lang Throwable html public void onFailure Throwable exception 我
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • Android:“dp”到“px”转换?

    我正在读这篇文章 http developer android com guide practices screens support html http developer android com guide practices scre
  • RxJava、Proguard 和 sun.misc.Unsafe

    我有以下问题RxJava 1 1 0 使用时Proguard 我没有更改 RxJava 版本或其 pro文件 但更新后OkHttp我无法编译使用Proguard因为我有关于sun misc Unsafe不在场 rxJava pro keep
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • TextView 之间有分隔线

    我正在尝试在 android studio 中创建以下布局 因为我对 android 东西还很陌生 所以我第一次尝试使用 LinearLayout 并认为这可能无法实现 现在我正在尝试使用RelativeLayout 我已经用颜色创建了这个
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 应用程序未安装在 Android 模拟器上

    我正在 android Geocoder 中开发一个应用程序 当我运行该应用程序时 它会显示 2011 01 11 11 08 13 GeoTourProject 自动目标模式 使用现有模拟器 emulator 5554 运行兼容的 AVD
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • Android Webview 图像未加载

    我制作了一个简单的应用程序WebView 但有些图片无法加载 正确 在我的电脑上 错误 在模拟器中 Correct 错误 没有横幅 于是我用Chrome debug进行调试 发现我的代码被改变了 我不添加像noscript or style
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ

随机推荐

  • 在 C 中, (x==y==z) 的行为是否符合我的预期?

    我可以比较如下三个变量 而不是这样做if x y y z z x 如果所有三个变量具有相同的值 则应执行 if 语句 这些是布尔值 if debounceATnow debounceATlast debounceATlastlast deb
  • 在 Swing 中的组件顶部进行绘制?

    我有一个JPanel添加到JViewport 并且该面板还添加了几个其他面板 我正在尝试实现一种拖动选择 您可以通过拖动鼠标来选择多个组件 我面临的唯一问题是选择矩形被绘制在添加到主组件的组件后面JPanel 我怎样才能在它们上面画画 我的
  • Powershell 彩色目录列表在格式范围内不正确

    我从这里得到了这个彩色目录脚本http tasteofpowershell blogspot com 2009 02 get childitem dir results color coded html function ls regex
  • JPA 和 JSON 运算符本机查询

    我试图让这个查询在 JPA 中工作 SELECT FROM contrat WHERE contrat json gt nom hever 它完美地与postgresql但是当我将它与JPA集成时 出现以下错误 该位置 1 的参数不存在 M
  • 给定 N 个生成器,是否可以创建一个在并行进程中运行它们并生成这些生成器的 zip 的生成器?

    假设我有 N 个生成器gen 1 gen N其中每个都会产生相同数量的值 我想要一台发电机gen这样它就可以在 N 个并行进程中运行 gen 1 gen N 并产生 next gen 1 next gen 2 next gen N 这就是我
  • 静态 HttpClient 仍在创建 TIME_WAIT tcp 端口

    我在 NET Framework 4 5 1 4 6 1 和 4 7 2 中的 HttpClient 中遇到了一些有趣的行为 由于 TCP 端口使用率高的已知问题 我建议在工作中的项目中进行一些更改 以便在每次使用时不处理 HttpClie
  • C++ 异常:抛出 std::string

    当我的 C 方法遇到奇怪的事情并且无法恢复时 我想抛出异常 可以扔一个吗std string指针 这就是我期待做的事情 void Foo Bar if QueryPerformanceTimer m baz throw new std st
  • 投影球体的半径

    我想完善一个上一个问题 如何将球体投影到屏幕上 2 给出了一个简单的解决方案 approximate radius on screen CLIP SPACE world radius cot fov 2 Z with fov field o
  • 相对于容器以百分比宽度定位固定元素

    我知道position fixed使元素相对于视口而不是它的offsetParent但是我有一个问题 我有一个侧面元素需要x空间量 然后是一些固定位置标题元素 我想占用剩余视口宽度的一定百分比 参见小提琴 http jsfiddle net
  • 如何防止自动 AJAX 攻击

    如何防止用户自动发帖 垃圾邮件 Here is my way这样做时 每个页面请求都会有新的 php 会话 这有其自身的局限性 没有多选项卡 我为每个页面使用了新会话来防御 CSRF 和自动攻击 假设我们有一个使用 AJAX 发布线程的论坛
  • 使用 JavaScript 检测对 Iframe 的点击

    我知道不可能知道用户在内部做什么iframe如果是跨域的话 我想做的是跟踪用户是否点击了iframe 我想象一个场景 有一个看不见的东西div在上面iframe以及div然后将点击事件传递给iframe 这样的事情可能吗 如果是的话 我该怎
  • NET Standard 与 Net Core App:创建 .NET Core 项目时(使用控制台或类库)

    I am trying to develop my projects to be cross platform I have created several class libraries in this way 但是 当我使用实体框架构建
  • HDFS 文件比较

    我如何比较两个 HDFS 文件 因为没有diff 我正在考虑使用 Hive 表并从 HDFS 加载数据 然后在 2 个表上使用 join 语句 有没有更好的方法 没有diffhadoop 提供的命令 但实际上您可以在 shell 中使用重定
  • FREETEXTTABLE 的排名始终为 0

    我正在使用 SQLServer 2008 如果我执行以下查询 SELECT FROM FREETEXTTABLE SomeTable Name a name that I know exists 我得到了我期望的行 但排名始终为 0 寻找这
  • 用于参数化继承的元类

    我读过一些关于 Python 元类的教程 我以前从未使用过 但我需要一个来完成相对简单的事情 并且所有教程似乎都面向更复杂的用例 我基本上想创建一个具有一些预先指定的主体的模板类 但将其基类作为参数 由于我从 C D 模板中得到了这个想法
  • 我如何在简单的 php 函数中使用“依赖注入”,我应该打扰吗?

    我一直听到人们谈论依赖注入及其好处 但我并不真正理解它 我想知道这是否是 我始终将数据库连接作为参数传递 问题的解决方案 我尝试阅读维基百科的条目 但该示例是用 Java 编写的 因此我不太清楚它试图阐明的差异 http en wikipe
  • 使用 Win32 处理 Ctrl+C

    I have a Win32 window message loop I want to intercept Copy to clipboard via CTRL C My current approach is to handle it
  • symfony2 文件因表单错误而丢失

    我正在使用与学说相关的文件上传的标准实现 按照 symfony2 网站教程上的示例 当我的上传表单在验证中遇到错误 并将用户发送回带有错误消息的表单时 它会丢失选择上传的文件 尽管如果我 var dump 我的 entity gt file
  • 如何使用正则表达式替换字符串中的最后一个点?

    我正在尝试使用正则表达式替换字符串中的最后一个点 假设我有以下字符串 String string hello world how are you 我想用感叹号替换最后一个点 结果是 hello world how are you 我使用该方
  • 带有自定义 ArrayAdapter 的微调器,适用于不显示所选项目的对象

    我有一个自定义 ArrayAdapter 来表示微调器控件上的对象 我可以加载我的项目 列表并显示它以供选择 但是当实际选择发生时 微调器什么也不显示 活动代码 public MetroData metroData private Spin