安卓:二维的ArrayList帮助 [英] Android: Two dimensional ArrayList Help
本文介绍了安卓:二维的ArrayList帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前我有我的code将用户输入连接到一维的ArrayList,但我想将它们放到一个二维的ArrayList和时遇到一些麻烦。
下面是我的code:
公共类游戏扩展活动实现OnClickListener {
私有静态最后弦乐TAG =黑客帝国;
静态的ArrayList<&的EditText GT; columnEditTexts;
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
this.setContentView(R.layout.matrix);
查看doneButton = findViewById(R.id.done_button);
doneButton.setOnClickListener(本);
columnEditTexts =新的ArrayList<&的EditText GT;(); 的for(int i = 0; I< MatrixMultiply.h1;我++){
TableLayout表=(TableLayout)findViewById(R.id.myTableLayout);
连续的TableRow =新的TableRow(本);
列的EditText =新的EditText(本);
对于(INT J = 0; J< MatrixMultiply.w1; J ++){
表=(TableLayout)findViewById(R.id.myTableLayout);
列=新的EditText(本);
column.setId(ⅰ);
row.addView(列);
columnEditTexts.add(列);
}
table.addView(行);
} }
解决方案
那么你需要首先创建一个二维的ArrayList。要做到这一点,你需要创建的ArrayLists的ArrayList
的ArrayList< ArrayList的<&的EditText GT;> arrayOfEditTexts =新的ArrayList< ArrayList的<&的EditText GT;>();
这样,那么你循环将成为东西沿着这些路线(假设我明白你正在尝试做的):
的for(int i = 0; I< MatrixMultiply.h1;我++){
columnEditTexts =新的ArrayList<&的EditText GT;();
TableLayout表=(TableLayout)findViewById(R.id.myTableLayout);
连续的TableRow =新的TableRow(本);
列的EditText =新的EditText(本);
对于(INT J = 0; J< MatrixMultiply.w1; J ++){
列=新的EditText(本);
column.setId(ⅰ);
row.addView(列);
columnEditTexts.add(列);
}
table.addView(行);
arrayOfEditTexts.add(columnEditTexts);
}
Currently I have my code putting user input into a one-dimensional ArrayList, but I would like to put them into a two dimensional ArrayList and am having some trouble.
Here is my code:
public class Game extends Activity implements OnClickListener {
private static final String TAG = "Matrix";
static ArrayList<EditText> columnEditTexts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.matrix);
View doneButton = findViewById(R.id.done_button);
doneButton.setOnClickListener(this);
columnEditTexts = new ArrayList<EditText>();
for(int i = 0; i < MatrixMultiply.h1; i++){
TableLayout table = (TableLayout)findViewById(R.id.myTableLayout);
TableRow row = new TableRow(this);
EditText column = new EditText(this);
for(int j = 0; j < MatrixMultiply.w1; j++){
table = (TableLayout)findViewById(R.id.myTableLayout);
column = new EditText(this);
column.setId(i);
row.addView(column);
columnEditTexts.add(column);
}
table.addView(row);
}
}
解决方案
Well you need to first create a two dimensional ArrayList. To do that, you need to create an ArrayList of ArrayLists.
ArrayList<ArrayList<EditText>> arrayOfEditTexts = new ArrayList<ArrayList<EditText>>();
So then you loop will become something along these lines (assuming I understand what you are trying to do):
for(int i = 0; i < MatrixMultiply.h1; i++){
columnEditTexts = new ArrayList<EditText>();
TableLayout table = (TableLayout)findViewById(R.id.myTableLayout);
TableRow row = new TableRow(this);
EditText column = new EditText(this);
for(int j = 0; j < MatrixMultiply.w1; j++) {
column = new EditText(this);
column.setId(i);
row.addView(column);
columnEditTexts.add(column);
}
table.addView(row);
arrayOfEditTexts.add(columnEditTexts);
}
这篇关于安卓:二维的ArrayList帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文