Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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/0/unity3d/4.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_Android_Button - Fatal编程技术网

Java 点击按钮打开空白屏幕

Java 点击按钮打开空白屏幕,java,android,button,Java,Android,Button,我正在尝试制作一个测验应用程序,在我为我的第二个按钮输入代码之前,一切都正常。现在,当我单击“开始”时,什么都没有发生,单击“学习”会出现一个黑屏。Start应该把用户带到一个不同的活动,而study应该把用户带到一个网站。有人能检查一下我的代码有什么问题吗 package com.example.rupin.whosthatpokemon; import android.content.Intent; import android.net.Uri; import android.suppor

我正在尝试制作一个测验应用程序,在我为我的第二个按钮输入代码之前,一切都正常。现在,当我单击“开始”时,什么都没有发生,单击“学习”会出现一个黑屏。Start应该把用户带到一个不同的活动,而study应该把用户带到一个网站。有人能检查一下我的代码有什么问题吗

package com.example.rupin.whosthatpokemon;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class questionactivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_questionactivity);
        Button start = findViewById(R.id.start);
        start.setOnClickListener(
                new Button.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent intent = new Intent (getApplicationContext(), one.class);
                        startActivity(intent);
                    }
                });
        start = findViewById(R.id.study);
        start.setOnClickListener(
                new Button.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent i;
                        i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.pokemon.com/us/pokedex/"));
                        startActivity(i);
                    }
                });

    }
    public void goToActivity2 (View view){
        Intent intent = new Intent (this, one.class);
        startActivity(intent);
    }
}

正如Loris Securo在评论中所说,“
您有两次
btn.setOnClickListener
,而不是
start.setOnClickListener
”。这意味着您从未设置开始按钮的onClickListener

另外,在第二个onClickListener中,您有:

i = new Intent(view.getContext(), one.class);
你应该改为:

i = new Intent(questionactivity.this, one.class);
虽然
view.getContext()
从技术上讲应该可以工作,但我总是看到
这个
被用作Intent构造函数中的第一个参数,它是
上下文
对象。由于
this
(一个
活动的实例
)可以转换为
上下文
,因此最好获取外部类的上下文,这可以解释为什么在尝试转到其他活动时会出现黑屏


旁注:您的类名应该以大写字母开头,并用大写字母表示,例如
ClassOne
QuestionActivity

您有
btn.setOnClickListener
两次,而不是
start.setOnClickListener
投票结束问题,因为打字错误哦,我没有注意到谢谢您,但现在只要点击按钮,应用程序就会crashes@Victini如果您使用的
上下文不正确,则会出现这种情况。我刚才说“黑屏”是因为这就是你在问题中所说的。好吧,所以我编辑了代码,但现在它又变得古怪了,我又看到了黑屏,我=新的意图(questionactivity.this,one.class);这也没用