小编Han*_*oit的帖子

如何在执行活动期间阻止Android设备的屏幕关闭?

我有一个Activity通常需要一些时间来观看屏幕而不与它交互.

问题是屏幕关闭,就像almos任何其他应用程序一样.我想防止我的自动关闭Activity,就像Dolphin HD一样(如果你从设置菜单配置它).

我想让用户按下常用的块按钮来关闭屏幕,但是在我的时候阻止设备的自动阻止Activity.

我怎样才能做到这一点?

感谢名单.

android android-activity

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

onSaveInstanceState限制?

由于onRetainNonConfigurationInstance我的弃用越来越多地用于配置更改.由于我使用ViewPager来保存我的主要片段,我无法使用setRetainInstance,这限制了我的配置更改以使用onSaveInstanceState,就像标准的Activity或View一样.

它完美地运行没有任何问题,但我现在通过它传递一个相当大的Serializable数据集,这使我想让社区输入是否是一个好主意.

tl; dr:onSaveInstanceState对你传递的内容有大小限制吗?

android

16
推荐指数
1
解决办法
2299
查看次数

Android 4.0(冰淇淋三明治)上的自定义字体渲染

在Android 4.0上测试使用Helvetica Neue作为主要字体的应用程序时,我发现与多个不同版本的Android相比,字体呈现存在不一致.我们在2.1,2.2.2,2.3.5,3.2,4.0和4.0.3上对此进行了测试,每次都得到相同的结果.我们还使用不同的字体二进制文件进行了这些测试,结果相同.

任何输入或解决方法将不胜感激.

下面是一个示例应用程序的屏幕截图,显示了不需要的结果,第一个是2.3.5,第二个是4.0.3.

2.3.5

4.0.3

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    TextView textView = new TextView(this);
    textView.setText("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia …
Run Code Online (Sandbox Code Playgroud)

android typeface

15
推荐指数
1
解决办法
6105
查看次数

优化Gson反序列化

优化反序列化的最佳方法是什么?

我目前正在使用标准的Gson.toJson和Gson.fromJson方法对一些复杂对象进行序列化和反序列化,我希望尽可能减少反序列化时间.

如果重要的话,我的对象中最复杂的包含43个变量.

java json gson

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

具有ViewHolder模式的ListView中的远程图像

主要问题:

在使用ViewHolder模式的简单ListView适配器中,延迟加载远程图像的最有效的无错方法是什么?

我目前有一个实现,将首先检查SoftReference Bitmap HashMap的软缓存版本的图像.如果失败,我检查我的硬缓存是否有图像的副本.如果失败了,我会从网上获得.我在一个单独的线程和队列中完成所有这些操作,以消除并发或重复下载.

问题是通过回调加载.因为我使用ViewHolder模式,我的视图不断被回收,我还没有找到一种可靠的方法来消除随机附加到我的ImageViews的不同图像.我在每次加载之前都默认使用默认图像,但因为视图正在被回收,所以"旧"侦听器会应用到我的ImageView上,提供错误的图像,然后用正确的图像替换.

我发现的唯一半固态解决方案是使用ViewHolder本身作为监听器,但这只会使问题变得不那么明显.它仍然发生在快速滚动上.

任何帮助,将不胜感激.

更新:

https://github.com/DHuckaby/Prime

android listview android-listview

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

旋转屏幕时,按钮在小部件上单击丢失

我有一个非常简单的小部件应用程序,它包含一个LinearLayout带背景和一个ImageButton.

在该AppWidgetProvider onUpdate()方法中,我注册按钮的单击以广播意图.当小部件首次加载时,一切运行正常并且捕获点击.旋转屏幕时会出现问题,即使屏幕向后旋转,也不会再次捕获点击.

屏幕旋转时,如何重新注册咔嗒声?

下面是我正在使用的一些代码段.

的AppWidgetProvider

@Override
public void onReceive(Context context, Intent intent)    
{
    super.onReceive(context, intent);

    if(intent.getAction().equals("test.CLICK"))
    {
        CallTestMethod(context);
    }
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
    int[] appWidgetIds) {
    final int N = appWidgetIds.length;

    // Perform this loop procedure for each App Widget that belongs to this provider
    for (int i=0; i<N; i++) {
        int appWidgetId = appWidgetIds[i];

        RemoteViews views=new RemoteViews(context.getPackageName(), R.layout.widget);            
        Intent clickintent=new Intent("test.CLICK");
        PendingIntent pendingIntentClick=PendingIntent.getBroadcast(context, 0, clickintent, PendingIntent.FLAG_UPDATE_CURRENT);
        views.setOnClickPendingIntent(R.id.change_mode, pendingIntentClick); …
Run Code Online (Sandbox Code Playgroud)

android widget android-widget

5
推荐指数
2
解决办法
3558
查看次数