Java Android:二维ArrayList帮助
目前,我的代码将用户输入放入一维ArrayList,但我想将它们放入二维ArrayList,我遇到了一些麻烦 这是我的密码:Java Android:二维ArrayList帮助,java,android,multidimensional-array,arraylist,Java,Android,Multidimensional Array,Arraylist,目前,我的代码将用户输入放入一维ArrayList,但我想将它们放入二维ArrayList,我遇到了一些麻烦 这是我的密码: public class Game extends Activity implements OnClickListener { private static final String TAG = "Matrix"; static ArrayList<EditText> columnEditTexts; @Override pub
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);
}
}
公共类游戏扩展活动{
私有静态最终字符串标记=“矩阵”;
静态ArrayList ColumneditText;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
这个.setContentView(R.layout.matrix);
View doneButton=findviewbyd(R.id.done_按钮);
doneButton.setOnClickListener(这个);
ColumnEditText=新的ArrayList();
对于(int i=0;i
首先需要创建一个二维ArrayList。为此,需要创建一个ArrayList的ArrayList
ArrayList<ArrayList<EditText>> arrayOfEditTexts = new ArrayList<ArrayList<EditText>>();
ArrayList ArrayOfeditText=new ArrayList();
因此,您的循环将成为以下内容(假设我理解您的意图):
for(int i=0;i
问题到底是什么?现在只是把编辑文本放到一个一维数组中。我该如何把它们放到一个二维数组中?你能补充一个问题吗?你希望通过将它们存储在二维数组中实现什么?最终我想把两个矩阵相乘(例如)。对于第二个矩阵,我有另一个类似于此的活动,然后是一个结果活动。这很接近,但似乎一直在添加相同的ArrayList。对于2x3矩阵,我希望ArrayList为[1 2 3][4 5 6]。当前它将其存储为[1 2 3 4 5 6][1 2 3 4 5 6]那么,for循环中存在一个问题。ArrayList的结构保持不变,问题在于如何填充它。
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);
}