gpt4 book ai didi

java - 我是安卓开发新手。我有个问题

转载 作者:行者123 更新时间:2023-12-01 19:12:18 26 4
gpt4 key购买 nike

在主页上,我单击图像,它将打开问题 1。现在,我尝试使用问题 1 中的 ImageView 打开一个新 Activity ,即问题 2。但它有一个错误:问题 1 是不是封闭类。

这是主要 Activity 的代码。

package com.example.adhdtracker;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

private ImageView b;


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

//button video to video page
b = (ImageView) findViewById(R.id.btnPlayVideo);
b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
Intent i = new Intent(MainActivity.this, VideoPage.class);
startActivity(i);

}
});


//button start test to question1
b = (ImageView) findViewById(R.id.btnStartTest);
b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
Intent i = new Intent(MainActivity.this, Question1.class);
startActivity(i);

}
});



//button question 1 ke question 2
b = (ImageView) findViewById(R.id.btn1);
b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
Intent i = new Intent(Question1.this, Question2.class);
startActivity(i);

}
});}}

这是问题1.java。它说它不是一个封闭类。

package com.example.adhdtracker;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class Question1 extends AppCompatActivity {

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

这是问题2.java

package com.example.adhdtracker;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class Question2 extends AppCompatActivity {

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

最佳答案

Intent i = new Intent(Question1.this, Question2.class);
startActivity(i);

您正在尝试从 MainActivity 中 Question1 的上下文中启动 Question2。 new Intent() 的第一个参数应该是将启动下一个 Activity 的封闭类的上下文。由于您在 MainActivity 中定义 this,因此上下文应该是 MainActivity.this。关于这个主题有一个很棒的介绍here .

将 new Intent() 的第一个参数更改为“MainActivity.this”,或者将整个第二个 OnClickListener 移动到 Question1 内的 View 。

关于java - 我是安卓开发新手。我有个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59463950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com