java - 单击按钮打开空白屏幕

标签 java android button

我正在尝试制作一个测验应用程序,一切都工作正常,直到我为第二个按钮输入代码,现在当我单击“开始”时没有任何反应,单击“学习”会出现黑屏。开始应该将用户带到不同的 Activity ,而学习应该将他们带到网站。有人可以检查我的代码有什么问题吗?

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() 在技术上应该可以工作,但我总是看到 this 用作 Intent 构造函数中的第一个参数,它是 Context > 对象。由于 this (Activity 的一个实例)可以转换为 Context,因此最好获取外部类的上下文,并且这可以解释为什么当您尝试进入其他 Activity 时会出现黑屏。

旁注:您的类名应以大写字母开头并采用驼峰式命名,例如 ClassOneQuestionActivity

关于java - 单击按钮打开空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141802/

相关文章:

java - 为什么我的一些 richfaces 资源在某些页面上缺失,而在其他页面上却缺失?

java - 空列表 : ArrayAdapter in Fragment

python - wxPython -- 如何在某些事件(例如单击)中更新 BitmapButton 的边框样式

java - android:调用 Button.setText() 会导致 Button 发生意外的重新定位

java - 应用程序意外停止。强制关闭。该怎么办?

java - 如何更改抽屉导航 Activity 中的 Activity

java - 在 Android 中加载大文本

android - 如何在 imageview 上实现分色效果?

java - 发送网格 : How to set dynamic link value of a button

java - 指定子类中集合的类型