在我的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()) {
}
}
有人知道如何从小吃店获取行动视图吗?
答案 0 :(得分:8)
对于每个Snackbar
,Snackbar
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) {
}
}
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以尝试在快餐栏上设置操作。
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);