吐司不出现
我正在开发一个Android应用程序,我有点困惑为什么我的吐司没有显示在我的应用程序。吐司不出现
面包不在活动中。因此,这是我的解决方案。在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(不延伸活动)我打电话举杯:
public class Connection{
public void test(){
Toast.makeText(InstanceHandler.mContext, "This is a test", Toast.LENGTH_SHORT).show();
}
}
但没有任何反应。应用程序在Toast后中止以下代码。
只需使用这个在那边
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();
}
}
你可以显示你在哪里使用吐司? –
我编辑了我的答案。现在检查 –
也告诉我你从哪里叫这个班。通过上下文 –
看来你正在使用Toast.makeText(..)..在InstanceHandler类之外的在其他Activity中使用,然后直接使用该活动,如果您在InstanceHandler类中使用,则使用
mContext代替InstanceHandler.mContext
希望这对你有帮助。
删除InstanceHandler并尝试使用Toast:Toast.makeText(mContext,“This is a test”,Toast.LENGTH_SHORT).show();'或者也可以使用'getApplicationContext()'而不是 –
Where你叫Toast.makeText(InstanceHandler.mContext,“这是一个测试”,Toast.LENGTH_SHORT).show(); ? –
在BleConnector中保存对MainActivity中上下文的引用,以便您可以将其用于烘烤 – Gosu