我知道很多像这样的问题,但我找不到答案。
public class Model3D extends ARObject implements Serializable{
public Model3D(Context context)
{
super("model", "", 80.0, new double[]{0,0});
mContext = context;
}
public Model3D(Model model,String patternName)
{
super("model", patternName, 80.0, new double[]{0,0});
Intent myIntent = new Intent(mContext, toast.class);
mContext.startActivity(myIntent);
}
}
public class toast extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Toast.makeText(getApplicationContext(), "Let's do some search action", Toast.LENGTH_SHORT).show();
}
}
每次我这样做,我的程序都会停止工作。 实际上我想在构造函数中调用intent,因为我想显示一个toast消息,如果我在构造函数中使用toast消息,则会出错。
plz帮助 谢谢
答案 0 :(得分:0)
如果您只想展示吐司,为什么要额外的活动? 您只能在ui线程上显示toasts。因此,如果未在UI线程中调用构造函数,则必须具有对Activity或Handler的引用。
public Model3D(Model model, String patternName, final Activity activity) {
super("model", patternName, 80.0, new double[] { 0, 0 });
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Let's do some search action", Toast.LENGTH_SHORT).show(); }
});
}