在安卓 studio(java)中写祝酒词时出错
我是AndroidStudio的初学者。我用java语言打开了一个新的空项目,我只想展示一个祝酒词,但每次它都显示出许多错误。 比如:
- 无法解析方法“makeText(com.example.newapp.MainActivity,java.lang.String,int)”
- 无法解析“MainActivity”中的方法“getActivity”
- 无法解析“MainActivity”等中的方法“getApplicationContext”。
我在互联网上搜索,尝试各种方法在安卓 studio中祝酒,但每次我都会出错。我试过5种方法,但我不明白为什么会出错
以下是代码:
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);
}
}
# 1 楼答案
首先,你的代码看起来还可以,但需要注意的是:
首先,你创建了一个方法,但你不在程序中的任何地方调用它 活动生命周期法
接下来,当您在作为上下文类的子类之一的活动类中时,不需要使用getActivity()或任何其他方法,只需传递
this
或YourActivityClassName.this
最后一件事是,为什么在方法签名中有view参数,而不需要它
从方法中删除未使用的方法参数,然后用此或MainActivity替换getActivity()。这样,在最后一次调用
onCreate
方法中的方法时,用双括号写下方法名编辑:
show()
方法(演示一下;)李># 2 楼答案
在代码中将getActivity()替换为this