小编Far*_*deh的帖子

AppCompat视图与普通Android视图之间的差异

AppCompat视图组件和标准/默认视图组件之间有什么区别?

例如,an AppCompatEditText和an EditText之间或a AppCompatButton和a 之间的差异Button.

查看开发人员文档android.support.v7.widget,AppCompat视图组件被描述为" tint aware ",但这是唯一的区别,这究竟是做什么的?

android android-appcompat android-view android-support-library

20
推荐指数
2
解决办法
8813
查看次数

资源$ NotFoundException:AlertDialog中的资源ID#0x0

我有一个RecyclerView,并且在它的适配器中,我创建了类似于an的东西OnLongClickListener,我称之为OnEntryLongClickListener避免混淆.

我使用an AlertDialog来显示包含不同操作的列表项的对话框.但是,我收到以下错误:

E/AndroidRuntime: android.content.res.Resources$NotFoundException: Resource ID #0x0  
    at android.content.res.Resources.getValue(Resources.java:2345)  
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3910)  
    at android.content.res.Resources.getLayout(Resources.java:2161)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:413)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:366)  
    at android.support.v7.app.AlertController$AlertParams.createListView(AlertController.java:734)  
    at android.support.v7.app.AlertController$AlertParams.apply(AlertController.java:711)  
    at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:883)
    at com.mycompany.myapp.ThisActivity$2.onEntryLongClick(ThisActivity.java:135)  
    at com.mycompany.myapp.adapter.RVAdapter$RVViewHolder.onLongClick(RVAdapter.java:41)   
    at android.view.View.performLongClick(View.java:5236)  
Run Code Online (Sandbox Code Playgroud)

以下是我使用的相关代码:

adapter.setOnEntryLongClickListener(new RVAdapter.OnEntryLongClickListener() {
    @Override
    public void onEntryLongClick(View view, int position) {
        final MiniEntry thisEntry = entryList.get(position);
        AlertDialog.Builder builder = new AlertDialog.Builder(getBaseContext());
        builder.setTitle(thisEntry.getEntryName()););
        builder.setItems(R.array.quickActions, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                // Other code here
            }
        });
        AlertDialog alert = …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

18
推荐指数
2
解决办法
9284
查看次数

getSupportActionBar().setTitle()vs toolbar.setTitle()

我知道有两种方法可以在Android中设置标题Activity.

假设我已经有以下代码......

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    ...

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

......我可以用这个......

getSupportActionBar().setTitle("My title");
Run Code Online (Sandbox Code Playgroud)

...或这个...

toolbar.setTitle("My title");
Run Code Online (Sandbox Code Playgroud)

......设定我的头衔.

我的问题是,哪种更好的做法

android android-titlebar android-actionbar android-toolbar

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

找不到Android工具栏类

我今天将Android Studio升级到1.2,我收到了这个错误.

找不到以下类:android.support.v7.widget.Toolbar(修复构建路径,创建类)

我的build.gradle包含以下依赖项

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:cardview-v7:22.1.1'
    compile 'com.android.support:recyclerview-v7:22.1.1'
    compile 'com.android.support:appcompat-v7:22.1.1'
}
Run Code Online (Sandbox Code Playgroud)

有人请帮我解决这个问题吗?

android android-xml android-studio android-toolbar

13
推荐指数
1
解决办法
3985
查看次数

何时使用多个数据库与多个表

所以我一直在做一个我有很多数据的项目。在某些数据集合中,有部分数据链接到其他数据集合,如在关系数据库中。

但是,我对是否应该使用多个数据库或多个表感到困惑。我试图找出答案,Quora 的答案有所帮助——据我所知,如果我有链接在一起的数据集合,我应该使用一个包含多个表的数据库(这些表会链接在一起)。

如果我的理解是正确的,那么这种做法在多大程度上合适?例如,如果您在一个数据库中有 20 多个表还可以吗?你会用一个吗

另外,如果您可以将所有内容放在一个包含多个表的数据库中,您什么时候会使用不同的数据库?

我希望这个问题不是太模糊或什么,但我找不到明确的答案来解释每个的目的,因此为什么要在多个表上使用多个数据库,反之亦然。

database database-table

13
推荐指数
1
解决办法
6190
查看次数

java.lang.RuntimeException:Parcel android.os.Parcel:解组未知类型代码

我似乎在我的应用程序中遇到一个奇怪的错误(请参阅GitHub),当我将对象传递给实现的不同活动时会发生这种错误Parcelable.

我已经在Stack Overflow上检查了其他问题和答案,但我无法找到解决方案.我在这里尝试了答案,例如 - 这里仅供参考:

-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}
Run Code Online (Sandbox Code Playgroud)

我还确保方法调用writeToParcel是有序的.关于此问题的Stack Overflow上的大多数其他问题都没有答案.

此外,我问一个新问题的原因是因为我认为我的问题是由于我在我的应用程序中使用接口的原因引起的(稍后我将对此进行扩展).Stack Overflow上的其他问题不适合我的特定情况.

在下面,我通过GitHub提供了代码的链接,以便您可以根据需要探索更多代码.


当我单击按钮以启动新活动(传递实现的对象Parcelable)时,会发生崩溃:

Process: com.satsuware.flashcards, PID: 4664
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.satsuware.flashcards/com.satsumasoftware.flashcards.ui.FlashCardActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@d2219e4: Unmarshalling unknown type code 6815860 at offset 200
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
    ...
 Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@d2219e4: Unmarshalling unknown type code 6815860 at offset 200
at android.os.Parcel.readValue(Parcel.java:2319)
at android.os.Parcel.readListInternal(Parcel.java:2633)
at android.os.Parcel.readArrayList(Parcel.java:1914)
at android.os.Parcel.readValue(Parcel.java:2264) …
Run Code Online (Sandbox Code Playgroud)

android parcelable android-intent

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

Gradle:'buildTypes'不能应用于groovy.lang.Closure

改变后targetSdkVersioncompileSdkVersion22,并改变我buildToolsVersion到22.0.1,我不断收到以下错误:

'buildTypes'不能应用于''(groovy.lang.Closure <com.android.build.gradle.internal.dsl.BuildType>)'

我查看了我的build.gradle文件并试图查找可能出错的任何内容:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "********"
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 17
        versionName "1.5-beta"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
        freeFlavour {
            applicationId "********"
        }
        paidFlavour {
            applicationId "********"
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.0.0'
}
Run Code Online (Sandbox Code Playgroud)

android build.gradle android-gradle-plugin

12
推荐指数
1
解决办法
7173
查看次数

Gitignore没有忽略Android库中的一些构建文件

我有一个Android库,由于某种原因,我在我指定的文件和文件夹.gitignore不会被忽略.

我已经尝试修改我的.gitignore并且也遵循这些步骤,但这并没有改变任何东西.

这是我的顶级.gitignore(也可以在GitHub回购中找到):

# Gradle files
.gradle/
build/
*/build/

# Local configuration file (sdk path, etc)
local.properties

# IntelliJ
*.iml
/.idea
Run Code Online (Sandbox Code Playgroud)

包含build未被忽略的文件夹模块具有以下内容.gitignore:

/build/
Run Code Online (Sandbox Code Playgroud)

我不确定为什么build不会忽略该目录,因为它在我的示例应用程序模块顶级目录中被忽略.

此外,build当我更新我的库版本时,我确实对目录中的某些文件进行了更改,如果这很重要的话.

git android github gitignore

12
推荐指数
1
解决办法
2727
查看次数

Android Systrace:意外错误(Conversion =';')

我一直在学习如何使用Systrace按照如何使用Systrace的说明(来自Android开发者网站).我尝试过使用GUI和终端(命令行).

使用GUI:

跟踪完成并保存后,我收到错误.我点击了" 详细信息 "按钮,总体而言,给出了以下消息:

无法收集系统跟踪

原因:收集系统跟踪时出现意外错误.

转换=';'

Systrace文件未保存.

使用命令行:

我已经尝试使用命令行以及使用GUI(虽然我是使用命令行的新手).
键入$ cd android-sdk/platform-tools/systrace$ python systrace.py进入命令行会返回错误:

'$'不被识别为内部或外部命令,可操作程序或批处理文件.

使用cd android-sdk/platform-tools/systrace(没有$字符)会出现此错误:

该系统找不到指定的路径.

并使用python systrace.py(再次,没有$这个时间)返回此错误:

'python'不被识别为内部或外部命令,可操作程序或批处理文件.

我错过了什么,还是需要重新配置的东西?

android systrace

10
推荐指数
1
解决办法
3893
查看次数

如何在Android中为自定义视图添加滚动

我刚开始在Android中编写自定义视图(第一次),我意识到我需要实现滚动功能.

自定义视图还使用包含一些文本的标题(应该保持固定而不是滚动).

我已经阅读了关于GestureDetector.SimpleOnGestureListener和的文档Scroller.我还阅读了关于动画滚动手势的文档,但我发现这些示例很难理解.我还看了Stack Overflow上的其他一些问题.

使用我在Stack Overflow答案的文档中理解的作为参考来指导我,我已将以下内容添加到我的自定义视图中:

变量和字段:

private OverScroller mScroller;
private final GestureDetector mGestureDetector =
        new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() {

            @Override
            public boolean onScroll(MotionEvent e1, MotionEvent e2,
                                    float distanceX, float distanceY) {
                // Note 0 as the x-distance to prevent horizontal scrolling
                scrollBy(0, (int) distanceY);
                return true;
            }

            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2,
                                   float velocityX, float velocityY) {
                final int maxScrollX = 0;

                // wholeViewHeight is height of everything that …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view gesturedetector

10
推荐指数
1
解决办法
2239
查看次数