繁体   English   中英

Snackbar动作getView()

[英]Snackbar action getView()

在我的Activity中,我实现了OnClickListener接口

MainActivity extends AppCompatActivity implements View.OnClickListener

init snackbar像这样:

snackbar = Snackbar.make(view, R.string.msg, Snackbar.LENGTH_LONG);
snackbar.setAction(R.string.action_undo, this);

但我无法在实现的OnClickListener接口方法上处理它

@Override
public void onClick(View v) {
    // this not work!
    // snackbar id is different from snackbar action id
    if (v.getId() == snackbar.getView().getId()) {

    }
}

有人知道如何从小吃店获取行动视图?

对于每个SnackbarSnackbar textview资源ID为

    android.support.design.R.id.snackbar_text

Snackbar动作视图资源ID是

    android.support.design.R.id.snackbar_action

如果我正确理解了您的问题,您希望获得Snackbar操作资源ID。 你可以很容易地得到它,如上所述和onClick() ,你可以使用它像 -

@Override
public void onClick(View v) {

    if (v.getId() == android.support.design.R.id.snackbar_action) {

    }
}
v.getId()

总是(保留):

android.support.design.R.id.snackbar_action

文件

您可以尝试在快餐栏上设置操作。

View.OnClickListener snackbarClickListener = new View.OnClickListener() {
         @Override
         public void onClick(View v) {

         }
     };

snackbar = Snackbar.make(view, R.string.msg, Snackbar.LENGTH_LONG);
snackbar.setAction(R.string.action_undo, snackbarClickListener);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM