【发布时间】:2016-03-16 09:39:42
【问题描述】:
使用Toast 和makeText() 方法时出错
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RatingBar;
import android.widget.Toast;
public class RateME extends Fragment {
public RateME() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v= inflater.inflate(R.layout.fragment_rate_me, container, false);
final RatingBar ratingBar_default = (RatingBar) v.findViewById(R.id.ratingbar_default);
ratingBar_default.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
if (rating > 2 )
这里出现错误 我试过了
Toast toast = Toast.makeText(RateME.this, "Value of:" + String.valueOf(rating), Toast.LENGTH_LONG).show();
也试过了
Toast toast = new Toast.makeText(RateME.this, "Value of:" + String.valueOf(rating), Toast.LENGTH_LONG).show();
{
Toast.makeText(RateME.this, "Value of:" + String.valueOf(rating), Toast.LENGTH_LONG).show();
}
else
{
//Toast.makeText(RateME.this, "here"+String.valueOf(rating),Toast.LENGTH_SHORT).show();
}
}
});
return v;
}
}
这里是logcat
错误:(35, 23) 错误: 找不到合适的方法 makeText(RateME,String,int) 方法 Toast.makeText(Context,int,int) 是 不适用(实际参数 RateME 无法转换为 Context 通过方法调用转换)方法 Toast.makeText(Context,CharSequence,int) 不适用(实际 参数 RateME 无法通过方法调用转换为 Context 转换)
【问题讨论】:
-
fragment 不是
Context你需要通过activity -
请在此处提问之前进行一些搜索。这是一个 5 年前的问题,您有很多答案
-
@DJphy 道歉先生,我在搜索后发布了它..我从过去三天开始处理这个错误......作为建议的答案,我还提到我也尝试过,但是那个时候没有工作,所以经过所有尝试后我想把它放在这里......再次道歉......
-
这不是你的错.. 但它的答案的错.. 他们很少有人破坏 stackoverflow 政策的投票:) 冷静
标签: android