0

我正在尝试制作一个 Toast,它会在单击text时显示存储在变量中的信息submitbtn。我得到的错误不在于代码的运行,而是 Eclipse 告诉我:

Toast 类型中的方法 makeText(Context, CharSequence, int) 不适用于参数 (Class, String, int)

Toast 所在的文件是 UserInput.java 文件。这是当前的代码块:

Button submitBtn = (Button) findViewById(R.id.buttonSubmit);
    submitBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            int position = spinner.getSelectedItemPosition();
            String text = null; 
            text = dayArray[position].toString();
            //Log.i("spinner test: ", text);
            Toast toast = Toast.makeText(UserInput.class, text, Toast.LENGTH_LONG).show();
        }
    });

我什至尝试将 Context 设置为UserInput.thisand getApplicationContext(),这给了我这个错误:

类型不匹配:无法从 void 转换为 Toast

我会让你知道,我是一名 Android 新手,有点像 Java 新手,但我搜索了高低,找不到任何可行的解决方案。这个 Toast 对我正在开发的应用程序也不重要,因此它可以并且将被完全删除,但我想知道为什么这对我的学习过程不起作用。

4

1 回答 1

2

改变

Toast toast = Toast.makeText(UserInput.class, text, Toast.LENGTH_LONG).show();

Toast.makeText(UserInput.this, text, Toast.LENGTH_LONG).show();

你需要使用你的Activity Context所以你使用ActivityName.this.

但是您最初的问题是,如果您这样做,那么您只需要静态调用它,因为您正在调用show().

如果您想用它做其他事情,例如调用为show()您的. 然后调用您创建的实例。ToastsetView()ViewToastshow()Toast

于 2013-07-31T17:52:24.197 回答