我正在为我的应用程序创建自定义吐司。我需要在Toast上添加的按钮上添加OnClickListener。一切正常,我可以看到该按钮,但它对OnClick没有响应。任何想法。
示例代码:
Button button = new Button(getApplicationContext()); button.setText("Click Me"); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ProgressDialog.show(getApplicationContext(), "Hello", "nothing"); } }); button.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT)); Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.BOTTOM, 0, 0); toast.setMargin(0,-80); toast.setDuration(Toast.LENGTH_LONG); toast.setView(button); toast.show();
此外,我已经尝试通过向这样的按钮添加onTouchListener来进行尝试。
button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { ProgressDialog.show(getApplicationContext(), "Hello", "nothing"); return false; } });
但是它也不起作用。
我正在为我的应用程序创建自定义吐司。我需要在Toast上添加的按钮上添加OnClickListener。一切正常,我可以看到该按钮,但它对OnClick没有响应。任何...
您不应该在Button
中加入Toast
。只需显示该按钮,然后一段时间后将其隐藏即可。您可以通过在现有布局上方添加RelativeLayout
来实现。这样的事情应该起作用:
Crouton库解决了问题。希望对其他人也有帮助。
在这里您可以全面了解Toast in Android Studio。您不能在Toast中添加单击侦听器,但可以在Toast中添加图像并创建自定义Toast。