小编Dai*_*run的帖子

Android:requestLayout()调用不当

当我尝试在以下内容中扩充布局时发生以下错误ListView:

requestLayout() improperly called by android.widget.TextView{...} during layout: running second layout pass
Run Code Online (Sandbox Code Playgroud)

我试图在一个内部膨胀布局ListView如下:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView == null){
        LayoutInflater inflater = (LayoutInflater) musicActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.list_item, parent, false);
        ...
    }else{...}
}
Run Code Online (Sandbox Code Playgroud)

膨胀的布局可以看起来像下面这样简单,并且仍然会产生错误

<TextView
    android:id="@+id/txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="@dimen/txt_size"/>
Run Code Online (Sandbox Code Playgroud)

我已经研究了类似的问题,找不到任何解决方案似乎工作问题1,问题2,问题3.

有谁知道导致此类错误的原因是什么?任何疑难解答建议 对于更多上下文,它ListView显示在a FragmentViewPager

UPDATE

这是完整的XML布局(减去一堆属性),仍然会导致问题

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <TextView
    android:id="@+id/txt1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

 <TextView
    android:id="@+id/txt2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

 <TextView …
Run Code Online (Sandbox Code Playgroud)

performance android android-listview

42
推荐指数
5
解决办法
5万
查看次数

如何自动转换if-else if语句进行切换

是否有一个热键或简单的方法用IntelliJ中的开关替换if-else if语句?我宁愿不手动将if-else if语句转换为开关.我希望能够突出显示if-else if语句并按下组合键或使用菜单按钮.

java android intellij-idea

37
推荐指数
3
解决办法
2万
查看次数

Android:在布局之间重叠放置ImageView

我试图ImageView在两个布局之间的重叠点上放置一个.在下图中,我的目标是放置ImageView白色方块所在的位置. 注意:重叠点不一定垂直居中,如下所示

在此输入图像描述

这可能是XML吗?

我现在唯一的猜测是在实际的代码本身中这样做.

编辑2016年8月3日:作为参考,我认为ConstraintLayouts可能是这些类型问题的最佳解决方案http://tools.android.com/tech-docs/layout-editor

android android-layout android-xml

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

app依赖项和模块依赖项/插件有什么区别?

使用某些第三方库时,我会在模块的build.gradle文件中添加依赖项.

    compile 'com.android.support:appcompat-v7:24.1.1'
Run Code Online (Sandbox Code Playgroud)

或者我添加一个插件

    apply plugin: 'com.neenbedankt.android-apt'
Run Code Online (Sandbox Code Playgroud)

其他一些时候,库需要为我的应用程序的build.gradle文件添加依赖项.

    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)

这些依赖项和插件有什么区别?
为什么不能将它们全部设置在一个build.gradle文件中?

所有的建议都很感激,我在搜索这方面的信息时遇到了麻烦

gradle build.gradle

11
推荐指数
2
解决办法
2129
查看次数

Android XML错误消息

每次打开XML布局文件时,都会显示以下错误消息:

An internal error occurred during: "Check Android SDK". java.util.ConcurrentModificationException

错误消息很容易被忽略,我的程序仍然正常运行.我试过重启Eclipse和我的电脑没有成功.问题并不总是存在,但我不确定它何时开始发生.任何想法或链接都表示赞赏!

示例XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    tools:context="${packageName}.${activityClass}" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="@dimen/text_title_main"
    android:text="@string/app_name" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="@dimen/text_subtitle_main"
    android:text="@string/app_desc" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

确切的错误消息

弹出窗口示例

xml android xml-parsing

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

Android:如何获取当前设备的WiFi直接名称

在P2P设置中,我了解如何获取其他设备的名称,但如何获取自己设备的名称?(在设置中以WiFi-direct显示的那个).

我已经检查过WiFiManager,WiFiInfo而且没有成功.

android wifi device-name wifi-direct

9
推荐指数
2
解决办法
4917
查看次数

基本的Java Float和Integer乘法转换

我有以下代码:

float f = 1.5f;
int i = 3;
i *= f;
Run Code Online (Sandbox Code Playgroud)

我没有收到任何警告,但如果我这样做的话

i = i*f
Run Code Online (Sandbox Code Playgroud)

我收到了一个不兼容的类型警告.为什么Java会自动转换第一个乘法而不是第二个乘法?这背后的原因是什么?

java math

9
推荐指数
0
解决办法
44
查看次数

类声明中的泛型类型

我有

1)基本界面,

2)实现此接口的几个类,

3)和一个我想接受的泛型类,作为参数,任何实现类

我尝试过以下方法:

public class Foo extends Bar<? extends SomeInterface> {

    public Foo(List<? extends SomeInterface> someInterfaceList) {
        super(someInterfaceList);
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

我收到错误No Wildcard Expected.在我的代码的其他地方,我有这样的陈述List<? extends SomeInterface>,我没有收到任何错误,为什么我在这里遇到问题?我该如何解决这个问题并仍能获得理想的结果?

我试过搜索'没有通配符预期'和'通知卡在课堂声明'无济于事.提前致谢!

java generics interface

8
推荐指数
1
解决办法
3234
查看次数

如何使用浏览器进行基本的REST API调用

我试图通过查看如何使用浏览器格式化API调用来开始REST API调用.我发现在线的大多数示例使用SDK或只返回请求的所有字段.

例如,我正在尝试使用Soundcloud API来查看跟踪信息.

首先,我在浏览器中发出了一个简单的请求,如下所示http://api.soundcloud.com/tracks/13158665.json?client_id=31a9f4a3314c219bd5c79393a8a569ec,它以JSON格式返回一堆有关该轨道的信息

(例如{"kind":"track","id":13158665,"created_at":"2011/04/06 15:37:43 ...})

是否可以只使用浏览器返回"created_at"值?如果这个问题很基本,我很抱歉,但我不知道在线搜索哪些关键字.指向基本指南的链接会很好,但我暂时不想使用特定的SDK.

api rest json http

7
推荐指数
2
解决办法
4万
查看次数

为什么需要gradle build packagingOptions?

在我的gradle文件中,我有以下内容:

packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE'
}
Run Code Online (Sandbox Code Playgroud)

根据文件:

/**
 * Adds an excluded paths.
 * @param path the path, as packaged in the APK
 */
Run Code Online (Sandbox Code Playgroud)

这是什么意思?有人可以给我一个真实的例子,说明为什么需要进行这些排除吗?

android build.gradle

7
推荐指数
2
解决办法
4573
查看次数