我想显示一个toast
消息,但getContext()
在Toast.makeText((getContext()," Message" , Toat.LENGTH_LONG.show()))
被给错误
无法解析方法。
问题是我要显示Toast
消息的MainActivity
班级不是班级。这是AsyncTask
课。我可以Toast
在MainActivity
上述问题之外的其他班级(班级除外)中显示消息吗?
导入android.os.AsyncTask; 导入android.widget.Toast;
public class myClass extends AsyncTask<String, String, String> {
public myClass(double a, double b,Context context ) {
this.a = a;
this.b=b;
this.context = context;
}
protected String doInBackground(String... params) {
return null;
}
protected void onPostExecute(String result) {
Toast.makeText((getApplicationContext(), "Message", Toast.LENGTH_LONG).show();
}
}
编辑我做了构造函数(请参见上面的代码),但是在MainActivity
类中我是以这种方式调用的,myClassObj = new myClass(a, b,this);
但是给出了错误
myClass中的myClas()无法应用于:预期的实际参数参数a:双ab:双b上下文:android.content.Context this(anonymous ... view.View.OnClickListener)
编辑3
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
myClass Object;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
double age = 16;
double number = 33;
Object = new myClass(age,number,this);
}
});
}
}
二等舱。
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
public class myClass extends AsyncTask<String, String, String> {
Context context;
double a;
double b;
public myClass(double a, double b,Context context ) {
this.a = a;
this.b=b;
this.context = context;
}
protected String doInBackground(String... params) {
return null;
}
protected void onPostExecute(String result) {
Toast.makeText((context), "Message", Toast.LENGTH_LONG).show();
}
}
使用时,this
它指的是封闭的类。在您的情况下,这是View.OnClickListener
。但是您需要传递活动的上下文。
因此,您需要这样称呼它,
Object = new myClass(age,number, MainActivity.this);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句