gpt4 book ai didi

java - Ho 从另一个 Activity 调用自己的 toast 消息

转载 作者:行者123 更新时间:2023-12-02 04:43:02 25 4
gpt4 key购买 nike

我定义了自己的方法来显示 Toast,并且我想从另一个 Activity 调用它。当我这样做时,我的应用程序崩溃了。您是否有一些尝试在空对象引用上调用虚拟方法...

Toast 方法:

 public void showToastDown(Context context, String message) {
context = getApplicationContext();

inflater = getLayoutInflater();
View v = inflater.inflate(R.layout.toast_down, (ViewGroup) findViewById(R.id.toast_down_root));

TextView tvToastDown = v.findViewById(R.id.tvToastDown);
tvToastDown.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.BOTTOM|Gravity.FILL_HORIZONTAL, 0,0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(v);
toast.show();

}

以及第二个 Activity 的代码:

  switch (item.getItemId()){
case R.id.btnAddActionBar:

MainActivity mainActivity= new MainActivity();
mainActivity.showToastDown(this, "TEXT");
break;
}
return super.onOptionsItemSelected(item);
}

最佳答案

从代码中删除此行,因为您已经传递了上下文的值,因此无需使用应用程序上下文再次初始化。

context = getApplicationContext();

编辑:更改您的方法,如下所示:

public void showToastDown(Context context, String message) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
View v = inflater.inflate(R.layout.toast_down, (ViewGroup) ((Activity)context).findViewById(R.id.toast_down_root));

TextView tvToastDown = v.findViewById(R.id.tvToastDown);
tvToastDown.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.BOTTOM|Gravity.FILL_HORIZONTAL, 0,0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(v);
toast.show();
}

关于java - Ho 从另一个 Activity 调用自己的 toast 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56505745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com