我想在一个二维的arraylist中设置/获得一个vaule。 像这样,
[0] [1] [2]
[0] true false true
[1] true true true
[2] true false false
[3] false true true
我的代码 :
Arraylist<Arraylist<Boolean>> checkBoxState= new Arraylist<Arraylist<Boolean>();
获取:
checkBoxState.get(position).get(h);
设置:
checkBoxState.get(position).set(h,true);
但是我的设置/获取代码无效。 如何设置/获取checkBoxState(0.3)?
谢谢。答案 0 :(得分:1)
像这样使用
int rowCount = 4, columnCount = 3
private final boolean[][] selectedStatus;
selectedStatus = new boolean[rowCount][];
for (int i = 0; i < rowCount; i++) {
selectedStatus[i] = new boolean[columnCount];
for (int j = 0; j < columnCount; j++) {
selectedStatus[i][j] = false;
}
}
[0] [1] [2]
[0] false false false
[1] false false false
[2] true false false
[3] false false false
现在通过提供所选行列的值来初始化它:
selectedStatus[0][0] = true;
这将是最初的。并通过提供索引
以相同的方式获得此信息答案 1 :(得分:1)
尝试这将起作用
boolean test=true;
ArrayList<Boolean> mBooleen=new ArrayList<>();
mBooleen.add(test);
heckBoxState.add(mBooleen);
heckBoxState.get(0).set(0, false);
heckBoxState.get(0).get(0);
Log.d("your data", heckBoxState.get(0).get(0)+"");
答案 2 :(得分:0)
我认为你面临的问题是填充ArrayList,试试这个:
ArrayList<ArrayList<Boolean>> checkBoxState=new ArrayList<ArrayList<Boolean>>();
ArrayList<Boolean> boolList=new ArrayList<Boolean>();
boolList.add(true);
boolList.add(true);
boolList.add(false);
checkBoxState.add(boolList);
checkBoxState.add(boolList);
checkBoxState.add(boolList);
checkBoxState.get(0).get(2)
答案 3 :(得分:0)
当您想使用嵌套的ArrayList时,您可以试试这个。我希望它有所帮助,当你初始化数组时,你需要填充内部。
ArrayList<ArrayList<Boolean>> checkBoxState = null;
//filling the arrays you don't have to write boolean again in generics
for (int i = 0; i < 10; i++) {
checkBoxState= new ArrayList<>();
checkBoxState.add(new ArrayList<>());
}
//You can fill the array how you want
for (int i = 0; i < checkBoxState.size(); i++) {
checkBoxState.get(i).add(true);
}