我正在开发一个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之后中止以下代码。
答案 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
希望这对你有所帮助。