【问题标题】:snackbar in android fragment - onClickListener() build gradle failsandroid片段中的snackbar-onClickListener()构建gradle失败
【发布时间】:2016-05-24 17:03:45
【问题描述】:

我试图在我的片段视图膨胀时显示小吃栏。 我已经在 onViewCreated 中编写了小吃店代码,它可以工作并向我展示小吃店。但是当我尝试 setAction 并设置 onClickListener 时,Build gradle 失败。我附上代码 sn-p 和错误日志。

FragmentContact.java

public void onViewCreated(View v, Bundle savedInstanceState) {

        Snackbar.make(getActivity().findViewById(android.R.id.content), "Doubt?", Snackbar.LENGTH_LONG)
                .setAction("Call",new View.OnClickListener(){

                    @Override
                    public void onClick(View v) {

                    }
                })
             .show();

错误日志

 FAILED

FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:dexDebug'.
    > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 44.306 secs

gradle中的依赖

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:support-v4:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.facebook.android:facebook-android-sdk:4.0.0'
    compile 'com.android.support:support-v4:23.1.0'
    compile "com.android.support:support-v4:+"
    compile 'com.squareup.picasso:picasso:2.3.2'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.slider:library:1.1.5@aar'
}

【问题讨论】:

  • 你能用 gradle 文件中的代码编辑问题吗?
  • 运行 gradlew assemble --info 并发布详细信息

标签: android android-fragments android-snackbar


【解决方案1】:

你需要

  • 删除任何重复的例子

compile 'com.android.support:support-v4:23.1.0' compile "com.android.support:support-v4:+" 你已经添加了

  • 例如删除任何未使用的依赖项 你需要这个com.google.android.gms:play-services:8.4.0所有谷歌播放服务吗?如果您只需要地图,您可以添加com.google.android.gms:play-services-maps:8.4.0不是所有服务检查所有谷歌服务的链接https://developers.google.com/android/guides/setup

  • 尝试添加defaultConfig { // Enabling multidex support. multiDexEnabled true }检查Link

【讨论】:

  • 清理你的项目然后构建。如果不起作用,请尝试添加 defaultConfig { // Enabling multidex support. multiDexEnabled true } 检查链接 (developer.android.com/tools/building/multidex.html#mdex-gradle)
  • 也检查这个帖子有同样的问题 (stackoverflow.com/questions/29028705/…)
  • 莎莉!您添加 multiDexEnabled true 的解决方法对我有用!但是建议去吗?因为它也有一些缺点!
  • 很明显你有依赖问题。删除任何重复的,删除任何未使用的依赖项,例如,您是否需要这个“com.google.android.gms:play-services:8.4.0”所有谷歌播放服务。如果您只需要地图,您可以添加“com.google.android.gms:play-services-maps:8.4.0”不是所有服务检查所有谷歌服务的链接(developers.google.com/android/guides/setup
  • Sally:您能否在您的回答中包含有用的信息?只需单击其下方的“编辑”链接...这将增加对站点的回答的价值。 @AkshayMahale 然后请单击 Sally 答案左侧的复选标记以表明它解决了您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2016-03-31
  • 2013-06-13
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多