getContext(),getApplicationContext()和getBaseContext在Android中不起作用

用户名

我想显示一个toast消息,但getContext()Toast.makeText((getContext()," Message" , Toat.LENGTH_LONG.show()))被给错误

无法解析方法。

问题是我要显示Toast消息的MainActivity班级不是班级。这是AsyncTask课。我可以ToastMainActivity上述问题之外的其他班级(班级除外)中显示消息吗?

导入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();
        }
    }
内拉吉·拉尔(K Neeraj Lal)

使用时,this它指的是封闭的类。在您的情况下,这是View.OnClickListener但是您需要传递活动的上下文。

因此,您需要这样称呼它,

Object = new myClass(age,number, MainActivity.this);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SecurityContextHolder.getContext()在AspectJ类中不起作用

来自分类Dev

getText()和setText()在android代码中不起作用

来自分类Dev

AsyncStorage getItem 和 setItem 在 Android 设备中不起作用

来自分类Dev

$(this)和find在JQuery中不起作用

来自分类Dev

FaceBook共享在android中不起作用

来自分类Dev

Android中的Youtube API不起作用

来自分类Dev

ContentObserver在android中不起作用

来自分类Dev

更新查询在Android中不起作用

来自分类Dev

日期格式在Android中不起作用?

来自分类Dev

setPageLoad()在Android中不起作用

来自分类Dev

WebView setBackgroundColor在Android中不起作用

来自分类Dev

ActivityOptionsCompat在android 2.3中不起作用

来自分类Dev

按钮在android片段中不起作用

来自分类Dev

onInfoWindowClick方法在android中不起作用

来自分类Dev

startservice在Android中不起作用

来自分类Dev

onClick在android studio中不起作用

来自分类Dev

fpsdisplaysink在Android中不起作用

来自分类Dev

HttpPost在Android中不起作用

来自分类Dev

mailto在android cordova中不起作用

来自分类Dev

样式在android webview中不起作用

来自分类Dev

onTextChanged事件在Android中不起作用

来自分类Dev

fontFeatureSettings = smcp在Android中不起作用

来自分类Dev

Android中的无限动画不起作用

来自分类Dev

画布绘图在android中不起作用

来自分类Dev

线程在Java Android中不起作用

来自分类Dev

在android中睡眠不起作用

来自分类Dev

更新查询在Android中不起作用

来自分类Dev

startservice在Android中不起作用

来自分类Dev

FaceBook共享在android中不起作用