java获取要在ListView中显示的ArrayList字符串编号/位置
我有一个带有3列自定义列表适配器的ListView。两个列数据来自SQLite,一个用于显示项目位置(在自定义列表适配器上生成)。输出如下:
1 Keyboard 3
2 Mouse 6
3 Monitor 8
但现在我想从ArrayList中获取序列号1,2,3。不在自定义列表适配器中。因此,在某些情况下,我可以发送其他SQLite列,而不是序列号1,2,3
package com.example.itsre.myapplication;
import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.widget.ArrayAdapter;
import 安卓.widget.ListView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ListView list_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list_view = findViewById(R.id.list_view);
initialize();
}
private void initialize() {
ArrayList<String> list_with_number = new ArrayList<>();
list_with_number.add("Keyboard");
list_with_number.add("Mouse");
list_with_number.add("Monitor");
ArrayAdapter array_adapter = new ArrayAdapter<>(this, 安卓.R.layout.simple_list_item_1, list_with_number);
list_view.setAdapter(array_adapter);
}
}
那么我可以从ArrayList中获取序列号以显示在上面的代码中吗?或者我只是创建另一个自定义列表适配器(其中不包含序列号生成)
# 1 楼答案
如果序列号始终在1,2,3之间,则可以使用
arraylist。获取(位置+1)
或
如果您的序列号不同,您可以使用
arraylist。得到(位置)。getSerialNo()
# 2 楼答案
您只需获取索引号并将其显示为序列号即可。但是当数组从0开始时,每次显示索引时都必须添加1
要创建序列号数组,可以运行如下循环
但我建议你选择回收者的观点。因为它更好,更简单,更可定制Here是recyclerView的一个很好的例子
# 3 楼答案
这是最好的办法