【问题标题】:Android Spinner RealtiveLayout as ItemAndroid Spinner RealtiveLayout 作为项目
【发布时间】:2018-11-30 21:04:25
【问题描述】:

是否可以将 relativelayout 数组设置为 spinner 的项目?

RelativeLayout[] items = new RelativeLayout[]{dep1.createObj(getContext()), dep2.createObj(getContext())};
ArrayAdapter<RelativeLayout> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item, items);
_deposit.setAdapter(adapter);

我将其作为输出:

我想使用 relativelayout,因为我要显示的对象包含两个要以左右对齐方式显示的字符串

【问题讨论】:

  • 您可以使用自定义微调器适配器并在其上扩展视图。我不认为将相对布局作为参数传递会起作用。看看stackoverflow.com/questions/35983176/…
  • ArrayAdapter 中第三个参数的目的是因为您可以使用自己的 POJO 类或用户定义的类来提供数据并使用它。仅仅因为它接受 T[] Objects 并不意味着您可以传递任何扩展 Objects 的东西。使用字符串数组或其他具有相关数据且不是 Android 组件的东西。

标签: java android android-spinner android-relativelayout


【解决方案1】:

不,您只能使用默认布局在未修改的ArrayAdapter 中填充String(这很无聊)。

如果你想改变默认行为,比如像上面提到的那样改变布局,你必须扩展一个适配器,比如ArrayAdapter

Here 是自定义适配器的一个示例

【讨论】:

  • 非常感谢。我写了一个自定义适配器,效果很好
猜你喜欢
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2017-05-31
  • 1970-01-01
相关资源
最近更新 更多