Java Android:二维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

目前,我的代码将用户输入放入一维ArrayList,但我想将它们放入二维ArrayList,我遇到了一些麻烦

这是我的密码:

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);
   }