小编gor*_*nwd的帖子

Android Fragment onCreateView与onActivityCreated

我知道片段的视图层次结构必须在onCreateView中膨胀,但onCreateView还有什么其他功能可以等待onActivityCreated?我当前的实现对所有内容使用单独的活动,典型的活动在其onCreate方法中完成大部分工作,包括膨胀视图,设置内容视图,使用数据初始化各种小部件,设置监听器等.

那么这可能会全部转移到onCreateView上,还是应该将某些函数放入onActivityCreated方法呢?

lifecycle android android-lifecycle android-fragments android-activity

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

EditText没有自动更正等

我的EditText需要接受输入至少在我的HTC Desire组成部分单词,姓名等,这是困难的,因为键盘要建议和/或纠正一些条目(例如,改变"GOR"到"为").我尝试在视图上设置textNoSuggestions,但这并没有解决它.

任何简单的解决方案?

android

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

Android库Manifest与App Manifest

我在这里已经阅读了类似的问题,但我仍然不清楚几件事情.使用库项目意味着我的整个项目将有两个清单 - 一个用于库,另一个用于"主"应用程序项目 - 我不清楚是什么或哪些有冗余.

我正在开发一个带有"精简"和"付费"版本的应用程序小部件,因此几乎所有代码都在库项目中.作为一个小部件,该库至少会有一个接收器,一个服务,一个配置活动,以及其他一些活动.那么应该在哪里声明这些组件的完整声明 - 包括意图,过滤器等?它们是在库的清单中,还是在应用程序包本身的清单中,引用库中的类(例如android:name ="com.foo.mylibrary.MyService")?

我看过的一些例子似乎在两个清单中都声明了它们,但我怀疑将它们放在一个或另一个中是一个无操作.

android android-manifest android-service android-library android-activity

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

具有索引的Android SQLite性能

我的Android应用程序通过使用在用户PC上生成并传输到设备的SQLite数据库来工作.这一切都有效,但我没有预料到拥有大量数据的用户数量.在这些情况下,UI在等待获取数据时非常缓慢.

我已经尝试了一些技巧,我"确定"会加快速度,但似乎没有任何明显的效果.我的查询几乎都非常简单,通常是WHERE子句的单个"col = val"和列中的INTEGER数据.所以我对查询做不了多少.

最新的,我不是SQL专家,无论如何都是在PC上使用"CREATE INDEX"命令,认为这些索引用于加速数据库搜索.索引显着增加了数据库文件的大小,所以我很惊讶它似乎对我的应用程序的速度没有任何影响!在没有索引的情况下花费8秒钟填充的屏幕仍然需要大约8秒钟.我希望能把事情减少至少一半.

我现在想知道的是,如果Android上的SQLite实现完全使用数据库索引,或者我只是通过生成它们来浪费空间.谁能回答这个问题?

还有什么其他的东西可以尝试加快访问速度?

(对于它的价值,在绝对的基础上,用户没有什么可抱怨的.到目前为止,我的最坏情况用户的数据产生了630,000条记录(15个表),所以只有这么多可能!)

Doug Gordon GHCS Systems

sqlite android

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

在C/C++中将ISO-8859-1字符串转换为UTF-8

你会认为这很容易获得,但我很难找到一个简单的库函数,它将C或C++字符串从ISO-8859-1编码转换为UTF-8.我正在读取8位ISO-8859-1编码的数据,但需要将其转换为UTF-8字符串,以便在SQLite数据库和最终的Android应用程序中使用.

我发现了一种商业产品,但这次超出了我的预算.

c c++

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

Android:在onSaveInstanceState之后无法执行此操作

我仍然不清楚处理碎片以及我活动中发生的其他事情.以下是堆栈跟踪:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { (has extras) }} to activity {com.ghcssoftware.gedstar/com.ghcssoftware.gedstar.GedStar}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.ActivityThread.deliverResults(ActivityThread.java:2747)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:2790)
at android.app.ActivityThread.access$2000(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1035)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4028)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1299)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1310)
**at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:471)
at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.popStack(PersonTab.java:157)**
at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.fillData(PersonTab.java:165)
at com.ghcssoftware.gedstar.ViewTab.fillData(ViewTab.java:96)
at com.ghcssoftware.gedstar.GedStar.fillData(GedStar.java:589)
at com.ghcssoftware.gedstar.GedStar.onActivityResult(GedStar.java:514)
at android.app.Activity.dispatchActivityResult(Activity.java:4541)
at android.app.ActivityThread.deliverResults(ActivityThread.java:2743) …
Run Code Online (Sandbox Code Playgroud)

android

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

Android仅使用支持库中的ViewPager

我的应用程序的新版本的最低SDK为14,所以我认为我可以摆脱我一直用于旧版本的support.v4库.但是,现在看起来我可能不得不使用ViewPager,因此回到包含库.

那么我可以只使用库中与ViewPager相关的类而不必使用现在V14中的本机其他类,例如Fragment(也不必将Activity更改为FragmentActivity)?

我会假设我可以这样做(只使用库中的ViewPager),但想检查以确保.

android android-viewpager

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

Android转换为序数格式

在我重新发明轮子之前,Android是否有任何设施可以将整数转换为具有多语言支持的序数字符串?也就是说,它会将整数3转换为英语中的"3rd"和法语中的"3eme".

我可以使用一些逻辑以及Android的自动字符串替换来看看如何自己做这个,但是认为这肯定是其他人必须遇到的,而不仅仅是与日期一起使用.

android

10
推荐指数
3
解决办法
2441
查看次数

将Android/Eclipse项目移至新PC

好吧,我用水管冲洗了我的Android开发PC,但也没在意那么多,因为我真的需要这方面,以更新,更快的PC.在这里,我现在使用的是高端Windows 7 64位盒.

Eclipse和所有的Android组件运行起来,但我遇到的麻烦的一件事是如何得到我以前的项目到新的工作区.我从旧磁盘复制了整个旧工作区目录,并将其作为我的Eclipse工作区,但它不会自动查看那里的项目.我试图"从现有来源"创建一个新的Android项目,但它抱怨"重叠项目"或其他一些.

有没有办法把它识别现有的项目文件,或者我应该搬到别的地方,从头开始创建项目,然后复制旧文件放回项目树?或任何其他解决方案?

eclipse android

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

带有膨胀的LinearLayout的意外的LayoutParams

我有一个视图的XML定义,我将使用addChild添加到更大的容器视图中.它基于a LinearLayout,看起来基本上是这样的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="52dip"
android:background="@drawable/box_bg"
android:clickable="true"
android:onClick="onTreeBoxClick"
android:orientation="horizontal" >

<ImageView android:id="@+id/box_photo"
    android:layout_width="45dip"
    android:layout_height="45dip"
        ...
/>
<RelativeLayout
    android:layout_width="0dip"
    android:layout_weight="1"
    android:layout_height="wrap_content"
>
Run Code Online (Sandbox Code Playgroud)

(省略剩余 - 可能不相关,因为它基本上按设计工作)

当我创建这些视图时,我发现以下对我来说很奇怪的行为:

  1. 在我给视图充气后,getLayoutParameters()返回null.

  2. 在我调用addChild()将其添加到其父级之后,getLayoutParameters()返回一个有效的对象.

  3. 检查LayoutParameters,我发现宽度和高度都设置为-2(WRAP_CONTENT),这显然不是我在XML文件中指定的.

  4. 当我查看随附的ImageView的布局参数时,它会以指定的值读出.

谁能解释一下这里发生了什么?为什么我的指定高度没有被注意到?

这并没有真正影响我,因为父视图是一个自定义视图,其中我使用MeasureSpec等强制子项的最终尺寸,但我还是想了解这一点!

android android-layout layout-inflater

9
推荐指数
1
解决办法
3535
查看次数