小编Mow*_*Joe的帖子

MultiChoiceModeListener导致SherlockListFragment出现问题

所以,我正在阅读这个早先的问题,想知道如何让我点击列表中的项目来执行一个操作,或者长按该项目以切换到ActionMode,我可以在其中选择多个项目并使用ActionBar执行某些操作到那些项目.但是,我对这个答案疑问.具体来说,我将其实现为SherlockListFragment(使用ActionBarSherlock).但是,当我声明一个新的MultiChoiceModeListener时,Eclipse会抛出一些编译错误.

Description Resource    Path    Location    Type
Cannot override the final method from SherlockListFragment  DateTimeListFragment.java   /path/to/my/project line 127    Java Problem
The method inflate(int, Menu) in the type MenuInflater is not applicable for the arguments (int, Menu)  DateTimeListFragment.java   /path/to/my/project line 125    Java Problem
Run Code Online (Sandbox Code Playgroud)

当我删除MultiChoiceModeListener时,这些消失了.我不知道是什么原因造成的,因为我知道并没有什么奇怪的事情发生.

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
    {
        //super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.alarmsmenu, menu); //line 125
    }
    public boolean onOptionsItemSelected(MenuItem Item) //line 127
    {
        switch(Item.getItemId())
        {
        case R.id.addAlarm:
            addAlarm();
            return true;
        case R.id.editAlarms:
            return true; …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar android-listfragment

7
推荐指数
1
解决办法
3154
查看次数

Android Studio认为我正在为API Level 1而不是Android L构建

首先,我的应用程序的gradle.build:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion '20.0.0'

    defaultConfig {
        applicationId "com.blah.blah"
        minSdkVersion 16
        targetSdkVersion 'L'
        versionCode 1
        versionName "alpha"
    }
    ...
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.+'
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.google.android.gms:play-services:5.0.77'
    compile 'com.koushikdutta.ion:ion:1.2.4'
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我有一FragmentNavigationDrawer,自动生成由Android工作室,和所有的生命周期方法(onAttach(),onDetach(),onCreate(),等...)抛出的错误"这个方法不重写与当前构建目标什么,但我们将在API等级11(当前目标是1):".在Android Studio生成它之后,我没有触及片段的来源.这是为什么,我该如何解决这个问题?

android android-fragments android-studio android-5.0-lollipop

7
推荐指数
1
解决办法
723
查看次数

对CursorLoaders感到困惑并将它们与自定义SQLiteOpenHelper一起使用

我正在编写一个应用程序,允许人们为他们需要做的各种任务设置警报.我目前的计划是将所有相关数据存储到SQLite数据库中.为此,我创建了一个扩展SQLiteOpenHelper的类,并使用方法填充它以处理我期望必须接受的所有CRUD.知道在一个线程上执行所有处理通常是个坏主意,查找了在线程之间分离工作的方法,并找到了CursorLoader和LoaderManager,这看起来很理想,因为它们在Android兼容性库中可用.但是,LoaderManager似乎需要ContentProvider 按照文档中教程进行操作,而我还没有真正看到需要对ContentProviders做任何事情,因为我没有计划允许其他应用程序访问数据.没有ContentProvider,我不知道我应该如何为我的数据库提供一个Uri来提供给CursorLoader.有没有办法让我继续使用我的类扩展SQLiteOpenHelper并仍然实现LoaderManager,以允许我将所有填充的ListFragments与我的光标关闭UI线程?

sqlite android sqliteopenhelper android-loadermanager android-cursorloader

6
推荐指数
1
解决办法
1994
查看次数

android-jetifier:“无法解决所有工件”;新项目上的“无法转换工件”

我正在尝试构建一个相对较新的项目。Gradle 同步良好,但每当我尝试构建时,都会收到如下错误:

Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
   > Failed to transform artifact 'common.jar (com.android.tools:common:26.4.0)' to match attributes {artifactType=android-classes, org.gradle.usage=java-runtime-jars}.
      > Execution failed for JetifyTransform: C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar.
         > Failed to transform 'C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'android.support.design.widget' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin kapt android-jetifier

6
推荐指数
1
解决办法
1万
查看次数

类型'std :: istream*'和'char'到二进制'运算符>>'的操作数无效

我有一个基本的功能:

TokenType getToken(istream *in, string& recognized){
    char token;
    in >> token;
    if (token=='#'){
        in.ignore('\n');
        in >> token;
    }
    return T_UNKNOWN;
}
Run Code Online (Sandbox Code Playgroud)

(TokenType只是一个枚举.)

出于某种原因,在in >> token;使用G ++编译时,这两行都给了我这个错误:

error: invalid operands of types ‘std::istream* {aka std::basic_istream<char>*}’ and ‘char’ to binary ‘operator>>’
Run Code Online (Sandbox Code Playgroud)

为什么编译器会抛出此错误?我希望能够charin指向的流中提取一个,然后跳到下一行,如果这char是一个英镑符号.

为了后代,我包括:

#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>
#include <regex>

using namespace std;
Run Code Online (Sandbox Code Playgroud)

c++ c++11

2
推荐指数
1
解决办法
3957
查看次数