Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/155.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
Java 向主活动传递数据时尝试写入空数组错误_Java - Fatal编程技术网

Java 向主活动传递数据时尝试写入空数组错误

Java 向主活动传递数据时尝试写入空数组错误,java,Java,我还是一个初学者,这是我在论坛上的第一篇帖子,如果问题的格式不对,很抱歉。 我在一个名为DatabaseTagWalk的类中有一个资源数组,用于查找MainActivity类中按钮的id 这是我存储id的类(在activity_main.xml文件中,我创建了6个按钮,并为它们指定了与下面相同的名称) public class DatabaseTagWalk { int[] iconWalkId; public DatabaseTagWalk(){ icon

我还是一个初学者,这是我在论坛上的第一篇帖子,如果问题的格式不对,很抱歉。 我在一个名为DatabaseTagWalk的类中有一个资源数组,用于查找MainActivity类中按钮的id

这是我存储id的类(在activity_main.xml文件中,我创建了6个按钮,并为它们指定了与下面相同的名称)

public class DatabaseTagWalk {

    int[] iconWalkId;

    public DatabaseTagWalk(){

        iconWalkId = new int[6];

        iconWalkId[0] = R.id.topsightswalk;
        iconWalkId[1] = R.id.literarypariswalk;
        iconWalkId[2] = R.id.secretpassageswalk;
        iconWalkId[3] = R.id.picnictimewalk;
        iconWalkId[4] = R.id.joggitwalk;
        iconWalkId[5] = R.id.deluxegardenswalk;
    }
}
这是主要的活动类,我在其中查找按钮的id,以设置特定的文本,并指定单击按钮时使用的参数

public class MainActivity extends AppCompatActivity {

    DatabaseWalks listofwalks;
    DatabaseTagWalk tagWalk;
    Button[] buttons;
    int buttonClicked;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listofwalks = new DatabaseWalks();
        tagWalk = new DatabaseTagWalk();

        for (int i = 0; i < listofwalks.walkList.length; i++) {

            buttons[i] = (Button) findViewById(tagWalk.iconWalkId[i]);
            buttons[i].setText(listofwalks.walkList[i].returnWalk());
            setOnClick(buttons[i], tagWalk.iconWalkId[i]);
        }
    }

    public void setOnClick(Button button, final int buttonTag ){
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                buttonClicked = buttonTag;
                Intent startingGame = new Intent("android.intent.action.SECONDACTIVITY");
                startingGame.putExtra("buttonTag", buttonClicked);
                startActivity(startingGame);
            }
        });
    }
}

您没有初始化
按钮列表。您告诉我此变量存在,但您没有分配任何值

更改您的线路:

Button[] buttons;
至(如果您知道尺寸-例如10):

或者如果您希望基于
walkList
大小:

// After this line
listofwalks = new DatabaseWalks();

// Add new line, because here you know the list size
buttons = new Button[listofwalks.walkList.length];

我得等3分钟:'D'
Button[] buttons = new Button[10];
// After this line
listofwalks = new DatabaseWalks();

// Add new line, because here you know the list size
buttons = new Button[listofwalks.walkList.length];