无法解决 Snackbar 中的方法 setAction() 错误
Can't resolve method setAction() error in Snackbar
我做了一个Snackbar的功能:
void openSnackbar(String title){
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("",this)
.show();
}
但是在 seAction()
方法中第二个参数作为 this
给出错误 you can't resolve method setAction(java.util.String,package.....)
如何解决这个问题?
But inside seAction() method second perameter as this giving error you
can't resolve method setAction(java.util.String,package.....)
setAction
的第二个参数是实现 View.OnClickListener
的 class 的实例。如果编译器抱怨它,那是因为您的 class 没有实现该接口。
setAction (CharSequence text, View.OnClickListener listener)
Parameters:
text Text to display
listener callback to be invoked when the action is clicked
你可以这样使用:
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("", new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
})
.show();
否则你可以使用:
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("", myOnClickListener)
.show();
myOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
};
如果您想使用
.setAction("",this)
您的 class 必须实现 View.OnClickListener 接口。
我做了一个Snackbar的功能:
void openSnackbar(String title){
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("",this)
.show();
}
但是在 seAction()
方法中第二个参数作为 this
给出错误 you can't resolve method setAction(java.util.String,package.....)
如何解决这个问题?
But inside seAction() method second perameter as this giving error you can't resolve method setAction(java.util.String,package.....)
setAction
的第二个参数是实现 View.OnClickListener
的 class 的实例。如果编译器抱怨它,那是因为您的 class 没有实现该接口。
setAction (CharSequence text, View.OnClickListener listener)
Parameters:
text Text to display
listener callback to be invoked when the action is clicked
你可以这样使用:
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("", new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
})
.show();
否则你可以使用:
Snackbar
.make(findViewById(R.id.coordinatorLayout),
title,
Snackbar.LENGTH_LONG)
.setAction("", myOnClickListener)
.show();
myOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
};
如果您想使用
.setAction("",this)
您的 class 必须实现 View.OnClickListener 接口。