在我的活动中,我实现了OnClickListener接口
MainActivity extends AppCompatActivity implements View.OnClickListener
就像这样的零食吧:
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()) {
}
}有人知道如何从snackbar获得动作视图吗?
发布于 2016-03-21 22:44:42
对于每个Snackbar,Snackbar文本视图资源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) {
}
}发布于 2017-11-15 12:46:34
发布于 2016-03-21 21:28:40
您可以尝试这样做,以便在snackbar上设置操作。
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);https://stackoverflow.com/questions/36141760
复制相似问题