吐司没有出现

时间:2015-06-09 11:18:51

标签: java android toast android-toast

我正在开发一个Android应用程序,我有点困惑为什么我的Toast没有显示在我的应用程序中。

吐司不在活动中。因此,这是我的解决方案。在MainActivity中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_startup);

    // Init context
    InstanceHandler.setContextOfMainActivity(this);
}

在InstanceHandler类中:

private Activity mActivity;
public Context mContext;

public void setContextOfMainActivity(Activity activity) {
    mActivity = activity;
    mContext = activity.getApplicationContext();
}

并且在受影响的类Connection.java( NOT extends Activity)中我正在调用toast:

public class Connection{

    public void test(){
        Toast.makeText(InstanceHandler.mContext, "This is a test", Toast.LENGTH_SHORT).show();
    }
}

但没有任何反应。应用程序在Toast之后中止以下代码。

2 个答案:

答案 0 :(得分:1)

使用Just Over Over There

Toast.makeText(mContext, "This is a test", Toast.LENGTH_SHORT).show();

像这样使用那个类

public class Connection{
    Context mContext;
    public Connection(Context context) {
        // TODO Auto-generated constructor stub

         mContext = context;
    }

    public void test(){
        Toast.makeText(mContext, "This is a test", Toast.LENGTH_SHORT).show();
    }
}

答案 1 :(得分:1)

您似乎在InstanceHandler类之外使用Toast.makeText(..)..如果您在其他Activity中使用,则直接使用该活动,如果您在InstanceHandler类中使用,则使用

mContext代替InstanceHandler.mContext

希望这对你有所帮助。