android - 将 int 数组绑定到列表视图
问题描述
我在 android studio 中设置了一个带有 arrayadapter 的列表视图。很基本的东西。我可以保存和删除 listview id,并设置了一个 onItemClickListener 来检索 id 字符串。但是我现在要做的是为每个项目绑定/保存一个 int 数组。例如:
pos 0, id "Jesus" -> int 值:"10, 13, 256, 0, 57, ..." pos 1, id "Moses" -> int 值:"80, 70, 60, ..."等等。
int 数组不必显示在列表视图中。我要做的就是将它绑定到列表视图项。然后,通过单击一个项目,检索 int 数组。有人对如何实现这一点有提示吗?
到目前为止,这是我的代码(正如我所说的非常基本):
etPresetName = (EditText) findViewById(R.id.etPresetName);
lvPresets = (ListView) findViewById(R.id.lvPresets);
lvPresets.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String str = lvPresets.getItemAtPosition(i).toString();
etPresetName.setText(str);
}
});
alPresets = new ArrayList<String>();
PresetsAdapter = new ArrayAdapter<String>(Presets.this, android.R.layout.simple_list_item_1,
alPresets);
lvPresets.setAdapter(PresetClassAdapter);
解决方案
创建一个自定义类来保存您的数据
class MyClass{
String title;
int[] array;
}
使用您的数据类创建自定义 ArrayAdapter。
public class MyClassAdapter extends ArrayAdapter<MyClass> {
public MyClassAdapter(Context context, int textViewResourceId,
ArrayList<MyClass> items) {
super(context, textViewResourceId, items);
.........
}
public View getView(int position, View convertView, ViewGroup parent){
.........
Item item = item.get(position)
}
}
现在在您的 onClick 侦听器上,您可以从列表中获取带有位置的 int 数组。
推荐阅读
- powershell - D&D 骰子模拟器
- javascript - 快递找不到路线
- mongodb - 使用 MongoDB 取消嵌套键和值 event_params
- mysql - 如何从mysql2中的columnType整数值确定列类型名称?
- javascript - 使用 CSS 或 JS 在移动网站上自动展开子菜单
- python-3.x - 范围内的对数正态分布
- amazon-web-services - 未找到 AWS Amplify 环境“开发”
- r - 如何使用 ggplot 在 R 中创建具有 2 个数值变量的堆积条形图,按 1 个因子变量分组 - 取 2,具有标准误差?
- java - 根据用户组 Thymeleaf 隐藏输入按钮
- javascript - Vue - 资源解释为样式表,但使用 MIME 类型 text/html 传输