有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在安卓 studio(java)中写祝酒词时出错

我是AndroidStudio的初学者。我用java语言打开了一个新的空项目,我只想展示一个祝酒词,但每次它都显示出许多错误。 比如:

  1. 无法解析方法“makeText(com.example.newapp.MainActivity,java.lang.String,int)”
  2. 无法解析“MainActivity”中的方法“getActivity”
  3. 无法解析“MainActivity”等中的方法“getApplicationContext”。

我在互联网上搜索,尝试各种方法在安卓 studio中祝酒,但每次我都会出错。我试过5种方法,但我不明白为什么会出错

pic

以下是代码:

package com.example.newapp;

import 安卓x.appcompat.app.AppCompatActivity;

import 安卓.os.Bundle;
import 安卓.view.View;
import 安卓.widget.Toast;**

public class MainActivity extends AppCompatActivity {

    public void startApp(View view)
    {
        Toast toast1 = Toast.makeText(this, "message", Toast.LENGTH_SHORT);
        Toast toast2 = Toast.makeText(MainActivity.this, "message", Toast.LENGTH_SHORT);
        Toast.makeText(getActivity(), "message",
                Toast.LENGTH_LONG).show();
        Toast toast3 = Toast.makeText(getApplicationContext(),"message",Toast. LENGTH_SHORT);
        Toast toast4 = Toast.makeText(getActivity().getApplicationContext(),"message",Toast. LENGTH_SHORT);
    }

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

共 (2) 个答案

  1. # 1 楼答案

    首先,你的代码看起来还可以,但需要注意的是:

    1. 首先,你创建了一个方法,但你不在程序中的任何地方调用它 活动生命周期法

    2. 接下来,当您在作为上下文类的子类之一的活动类中时,不需要使用getActivity()或任何其他方法,只需传递thisYourActivityClassName.this

    3. 最后一件事是,为什么在方法签名中有view参数,而不需要它

    4. 从方法中删除未使用的方法参数,然后用此或MainActivity替换getActivity()。这样,在最后一次调用onCreate方法中的方法时,用双括号写下方法名

    编辑:

    1. 别忘了在吐司上调用show()方法(演示一下;)
  2. # 2 楼答案

    在代码中将getActivity()替换为this