我正在尝试在我的MainActivity代码中显示一个快餐栏。用来显示快捷栏的方法如下所示。
private void showSnackBar(int content_string, int action_string,
View.OnClickListener listener) {
Snackbar.make(R.id.myCoordinatorLayout,
getString(explanation_string),
Snackbar.LENGTH_INDEFINITE)
.setAction(getString(action_string), listener)
.show();
}
我使用下面的调用调用此方法
showSnackBar(R.string.content_string,
R.string.action_string,
new View.OnClickListener() {
@Override
public void onClick(View v) {
//Some operation
}
});
但是,在showSnackbar方法内部,我得到一个错误,说Snackbar.show(int,java.lang.String,int)无法解析。如果有人能指出我在这里遗漏了什么,那就是错误,这将是有帮助的。这些是我在build.gradle文件中添加的依赖项
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-location:11.0.2'
compile "com.android.support:support-core-utils:25.4.0"
compile 'com.android.support:design:25.3.1'
}
发布于 2018-06-03 03:36:49
现在,在2018年2月6日,'compile‘的配置被更改为'implementation’,如下所示
implementation 'com.android.support:design:25.3.1'
发布于 2017-07-14 20:11:32
Snackbar接受View
作为第一个参数,而不是视图的id。这是docs for the method.
make(View view, CharSequence text, int duration)
因此,不是传递id,而是传递膨胀的视图。
https://stackoverflow.com/questions/45102550
复制相似问题