【问题标题】:How to set Onclicklistener for actions in snackbar android?如何为小吃吧 android 中的操作设置 Onclicklistener?
【发布时间】:2016-10-12 18:08:22
【问题描述】:
我正在尝试在小吃店中设置操作。我有以下代码:
Snackbar.make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE).setAction("COPY TO",mOnClickListener).setActionTextColor(Color.RED).show();
如何为动作声明监听器“mOnClickListener”?
【问题讨论】:
标签:
android
listener
snackbar
【解决方案1】:
我发现缺少 Kotlin 的方法,所以我想加我的 2 美分:
Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE).apply {
setAction(R.string.dismiss) { this.dismiss() }
show()
}
好消息是 apply 为关闭不需要的小吃店提供了额外的变量
apply 还会返回其传递的任何内容,以便您可以apply{...}.show()
【解决方案2】:
在Activity中声明View.OnClickListener mOnClickListener;为类变量,
public class MainActivity extends AppCompatActivity {
View.OnClickListener mOnClickListener;
// extra codes
}
那么你可以简单地这样做,
mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//Handle onclick here
}
};
完整示例请参见here。
【解决方案3】:
Snackbar snackbar = Snackbar
.make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE)
.setAction("COPY TO", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
snackbar.show();