Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中创建控件数组_Android_Arrays_User Interface_User Controls_Multidimensional Array - Fatal编程技术网

在Android中创建控件数组

在Android中创建控件数组,android,arrays,user-interface,user-controls,multidimensional-array,Android,Arrays,User Interface,User Controls,Multidimensional Array,如何在Android中创建控件数组? 如何在Android中创建多维(2D)数组 对于按钮,编辑文本 另外我们如何访问二维数组中编辑文本的元素 如何在Android中创建多维数组?尤其是包含按钮或编辑文本的二维数组 另外,创建这些数组后,如何访问这些数组的元素?请看我创建的示例: Button[] buttons = new Button[10]; EditText[] textboxes = new EditText[10]; View[][] buttonsAndEditboxes = n

如何在Android中创建控件数组? 如何在Android中创建多维(2D)数组

对于按钮,编辑文本

另外我们如何访问二维数组中编辑文本的元素

如何在Android中创建多维数组?尤其是包含按钮或编辑文本的二维数组


另外,创建这些数组后,如何访问这些数组的元素?

请看我创建的示例:

Button[] buttons = new Button[10];
EditText[] textboxes = new EditText[10];

View[][] buttonsAndEditboxes = new View[2][5];

// adds 10 buttons to one-dimensional array
for (int i = 0; i < 10; i++) {
   buttons[i] = new Button(this);
}

// adds 10 editexts to one-dimensional array
for (int i = 0; i < 10; i++) {
   textboxes[i] = new EditText(this);
}

for (int i = 0; i < 2; i++) {
   for (int j = 0; j < 5; j++) {
      if (i == 0) {
         // adds 5 buttons to 2D array
         buttonsAndEditboxes[i][j] = new Button(this);
      } else {
         // adds 5 edittexts to 2D array
         buttonsAndEditboxes[i][j] = new EditText(this);
      }
   }
}

// access first button from the one-dimensional array           
Button fromOneDimensionalButton = buttons[0];

// access first EditText from the one-dimensional array
EditText fromOneDimensionalEdit = textboxes[0];

// access Button from the two-dimensional array
Button fromTwoDimensionalButton = (Button) buttonsAndEditboxes[0][0];

// access EditText from the two-dimensional array
EditText fromTwoDimensionalEditText = (EditText) buttonsAndEditboxes[1][0];
按钮[]按钮=新按钮[10];
EditText[]文本框=新的EditText[10];
视图[]按钮AndEditBox=新视图[2][5];
//向一维数组添加10个按钮
对于(int i=0;i<10;i++){
按钮[i]=新按钮(本);
}
//向一维数组添加10个EditExt
对于(int i=0;i<10;i++){
textboxs[i]=新编辑文本(本);
}
对于(int i=0;i<2;i++){
对于(int j=0;j<5;j++){
如果(i==0){
//向二维数组添加5个按钮
ButtonSandeditBox[i][j]=新按钮(此按钮);
}否则{
//将5个编辑文本添加到二维数组
ButtonSandeditBox[i][j]=新编辑文本(本);
}
}
}
//从一维数组访问第一个按钮
按钮from一维按钮=按钮[0];
//从一维数组访问first EditText
EditText fromOneDimensionalEdit=文本框[0];
//二维数组中的访问按钮
按钮fromTwomensionalButton=(按钮)按钮对话框[0][0];
//从二维数组访问EditText
EditText fromTwomensionalEditText=(EditText)按钮和编辑框[1][0];
编辑:

添加一些代码作为示例:

main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/test" >
</LinearLayout>

MainActivity.java:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LinearLayout layout = (LinearLayout) findViewById(R.id.test);

        View[][] buttonsAndEditboxes = new View[2][5];

        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 5; j++) {
                if (i == 0) {
                    // adds 5 buttons to 2D array
                    buttonsAndEditboxes[i][j] = new Button(this);
                } else {
                    // adds 5 edittexts to 2D array
                    buttonsAndEditboxes[i][j] = new EditText(this);
                    buttonsAndEditboxes[i][j].setOnClickListener(this);

                    // you need to create unique id here
                    buttonsAndEditboxes[i][j].setId(j);
                    layout.addView(buttonsAndEditboxes[i][j]);

                }
            }
        }
    }

    public void onClick(View v) {
        switch (v.getId()) {
        case 0:
            Toast.makeText(this, "Editext0 clicked", Toast.LENGTH_SHORT).show();
            break;

        case 1:
            Toast.makeText(this, "Editext1 clicked", Toast.LENGTH_SHORT).show();
            break;

        case 2:
            Toast.makeText(this, "Editext2 clicked", Toast.LENGTH_SHORT).show();
            break;

        default:
            break;
        }
    }
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.LinearLayout;
导入android.widget.Toast;
公共类MainActivity扩展活动实现OnClickListener{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout布局=(LinearLayout)findViewById(R.id.test);
视图[]按钮AndEditBox=新视图[2][5];
对于(int i=0;i<2;i++){
对于(int j=0;j<5;j++){
如果(i==0){
//向二维数组添加5个按钮
ButtonSandeditBox[i][j]=新按钮(此按钮);
}否则{
//将5个编辑文本添加到二维数组
ButtonSandeditBox[i][j]=新编辑文本(本);
按钮AndEditBox[i][j].setOnClickListener(此);
//您需要在此处创建唯一的id
按钮和编辑框[i][j].setId(j);
layout.addView(按钮和编辑框[i][j]);
}
}
}
}
公共void onClick(视图v){
开关(v.getId()){
案例0:
Toast.makeText(这是“Editext0点击”,Toast.LENGTH_SHORT.show();
打破
案例1:
Toast.makeText(这是“Editext1单击”,Toast.LENGTH_SHORT.show();
打破
案例2:
Toast.makeText(这是“Editext2点击”,Toast.LENGTH_SHORT.show();
打破
违约:
打破
}
}
}

单个控件的类名是什么?创建该项的数组以创建controls@CSK:你知道如何用Java编程吗?如果你这样做了,那就完全一样了。如果你在开始使用Android之前没有学习Java。我尝试使用grid view n,方法是将click listener设置为它为imageview工作的每一个,但不使用edittext………我需要它来创建数独表在一个活动中我复制了它并粘贴了它…强制关闭是的,你也需要使用layout.addView(layout是你的父视图),将这些编辑文本和按钮添加到当前活动。您还需要以编程方式定位它们。在我的文章中添加了一些代码来编辑部分。有一个很好的例子。添加了xml布局文件代码和MainActivity文件,其中创建了编辑文本和按钮,其中一些添加到linearlayout。还有一个onClick方法,用于处理三个EditText的单击事件。希望有帮助!我不知道如何使用布局、父布局、视图组设置布局并向mi发送一些链接,我将学习itthnx dude…………事实上,我正在使用网格布局为数独游戏创建编辑文本表格……我们在游戏创建tat表格中输入数独表格……thnx 4帮助……如果你有任何创建数独表格的新想法,请告诉我。。。。。。。。。。。。。。。。。。。