如何为 snackbar android 中的操作设置 Onclicklistener?
How to set Onclicklistener for actions in snackbar android?
我正在尝试在小吃店中设置操作。我有以下代码:
Snackbar.make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE).setAction("COPY TO",mOnClickListener).setActionTextColor(Color.RED).show();
如何为操作声明侦听器 "mOnClickListener"?
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();
在Activity
中声明View.OnClickListener mOnClickListener;
为class变量,
public class MainActivity extends AppCompatActivity {
View.OnClickListener mOnClickListener;
// extra codes
}
那你就可以这么干了,
mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//Handle onclick here
}
};
完整示例请参阅 here。
我发现缺少 Kotlin 的方法,所以我想补充 2 美分:
Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE).apply {
setAction(R.string.dismiss) { this.dismiss() }
show()
}
好处是 apply
不需要额外的变量来关闭小吃店
apply
也 returns 无论它通过什么,你都可以 apply{...}.show()
我正在尝试在小吃店中设置操作。我有以下代码:
Snackbar.make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE).setAction("COPY TO",mOnClickListener).setActionTextColor(Color.RED).show();
如何为操作声明侦听器 "mOnClickListener"?
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();
在Activity
中声明View.OnClickListener mOnClickListener;
为class变量,
public class MainActivity extends AppCompatActivity {
View.OnClickListener mOnClickListener;
// extra codes
}
那你就可以这么干了,
mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//Handle onclick here
}
};
完整示例请参阅 here。
我发现缺少 Kotlin 的方法,所以我想补充 2 美分:
Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE).apply {
setAction(R.string.dismiss) { this.dismiss() }
show()
}
好处是 apply
不需要额外的变量来关闭小吃店
apply
也 returns 无论它通过什么,你都可以 apply{...}.show()