Snackbar 动作 getView()
Snackbar action getView()
在我的 Activity 中,我实现了 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 获取动作视图吗?
您可以试试这个来设置小吃店的动作。
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);
对于每个 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) {
}
}
v.getId()
始终(保留):
android.support.design.R.id.snackbar_action
在我的 Activity 中,我实现了 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 获取动作视图吗?
您可以试试这个来设置小吃店的动作。
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);
对于每个 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) {
}
}
v.getId()
始终(保留):
android.support.design.R.id.snackbar_action