标签: android-ui

活动是否可以获取垃圾收集而不是儿童片段?

此调用发生在片段中,偶尔会因NullPointerException而崩溃,尤其是当应用程序未在前台运行时:

.getActivity()getApplication());

当从服务器返回反馈或需要重新绘制片段时,会发生此调用.我不确定为什么这个调用会抛出一个NPE,当Activity被GCed时,片段是否可以保留在内存中?

如果它有所不同,我使用SwipeyTab ViewPager来显示不同的片段.

java android garbage-collection android-ui android-fragments

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

NullPointerException异常在android.widget.AbsListView.contentFits(AbsListView.java:722)

我觉得奇怪NullPointerException.我的代码没有指向.另外我知道我的应用程序仅在以下情况下提供此NullPointerException:

制造商:索尼爱立信
产品:MT11i_1256-3856
Android版本:2.3.4

有任何想法吗?

java.lang.NullPointerException
    at android.widget.AbsListView.contentFits(AbsListView.java:722)
    at android.widget.AbsListView.onTouchEvent(AbsListView.java:2430)
    at android.widget.ListView.onTouchEvent(ListView.java:3447)
    at android.view.View.dispatchTouchEvent(View.java:3952)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:995)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1711)
    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1145)
    at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1695)
    at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2217)
    at android.view.ViewRoot.handleMessage(ViewRoot.java:1901)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3701)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception android-ui android-listview

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

如何创建Android Google Play的网格视图,如Widget,动态加载不同大小的图像

在此输入图像描述

在此输入图像描述


我已经附上了两个应用程序图像,它们具有网格视图,如具有不同图像高度和宽度的小部件,动态加载,我需要创建相同类型的UI,如果有人引导我开始,我会很高兴.

android-ui android-layout google-play

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

为什么在缩放缩放手势期间调用setScaleX会导致闪烁?

我正在尝试创建一个可缩放的容器,我的目标是API 14+

在我的onScale中(我使用ScaleGestureDetector来检测捏缩放)我正在做这样的事情:

public boolean onScale (ScaleGestureDetector detector) {
   float scaleFactor = detector.getScaleFactor();
   setScaleX(getScaleX() * scaleFactor);
   setScaleY(getScaleY() * scaleFactor);

   return true;
};
Run Code Online (Sandbox Code Playgroud)

它工作但缩放不顺畅.事实上,它明显闪烁.

我也尝试过硬件层认为一旦纹理上传就会在GPU上进行缩放,因此速度非常快.但它并没有什么区别 - 变焦不是很平滑,有时候也很奇怪.

我究竟做错了什么?

performance android hardware-acceleration android-ui

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

爆炸片段之间过渡的方向

我已经使用爆炸动画实现了两个片段之间的转换(标准谷歌过渡 - > http://goo.gl/tE5xzl).有没有机会确定爆炸的方向?

问题是,当我之前将背板拉到我的片段时,我会得到一个随机动画,其爆炸方向不同.这看起来对用户来说有点混乱.

谢谢你的帮助 :)

android android-ui android-layout android-fragments android-transitions

7
推荐指数
0
解决办法
778
查看次数

在后台工作时更新UI

我有一个更新数据库操作,它有一个活动,它不断更新百分比,并在AsyncTask中运行.

在doInBackground()内部,我调用更新数据库并继续更新活动百分比的控制器,但是,如果按下主页按钮或后退按钮,操作将被取消.你建议我做什么?

我试图在doInBackground()中启动一个服务,所以它会在后台运行,但看起来它不起作用.

我的代码看起来像这样:

public class UpdateDatabaseAsyncTask extends AsyncTask<Void, Integer, Integer>
{   
    @Override
    public void onPreExecute()
    {
        mCustomProgressBar.startAnimation();
    }

    @Override
    public Integer doInBackground(Void... params)
    {
        return mController.updateDatabase();
    }

    @Override
    public void onPostExecute(Integer result)
    {
        mCustomProgressBar.stopAnimation();
        // finish the activity
    }

    @Override
    public void onProgressUpdate(Integer... value)
    {
        updatePercentageValue(value[0]);
    }

    public void callPublishProgress(Integer value)
    {
        publishProgress(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制器内部,我调用方法callPublishProgress(value)传递当前百分比值,因此它将publishProgress(value)在UI中.

我正在调试,我按下了home/back按钮,它就停止了运行工作线程.


我尝试的另一个解决方案是启动一个服务在后台运行,无论用户是否按下主页/后退按钮,所以我想,服务会调用执行工作的控制器方法,它会调用callPublishProgress(value)无论如何要更新UI上的百分比值.

然而,正在发生的是,代码到达doInBackground() 并启动服务,但它onPostExecute()立即进行,它只是没有等待服务完成(当然!).所以它给了一个NullPointerException.我想doInBackground()在服务中设置一个标志来创建一个循环,所以它会在服务尚未完成时离开这个循环(我使用的是IntentService),但它仍无法正常工作.

我也想过使用Timer.但我不知道.

我正在阅读关于线程等的文档中的文章.它建议使用AsyncTask,就像我试图做的那样.它还谈到了 …

multithreading android android-ui

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

在Android中,如何将图像放在另一个上面看起来像徽章?

请看下面:

iPhone徽章

我尝试使用绝对布局,但不推荐使用.感谢您的帮助,谢谢.

android android-ui android-layout

6
推荐指数
2
解决办法
3167
查看次数

如何在片段转换时使第一个片段重叠第二个片段

我正致力于片段转换.当我用第二个片段替换第一个片段时,它出现在第一个片段下面.我希望它移动到第一个片段之上.我怎样才能做到这一点?

fragmentTransaction.setCustomAnimations(animEnter, animExit, animPopEnter, animPopExit);
fragmentTransaction.replace(R.id.fragmentListView, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

android android-custom-view android-ui android-fragments android-view

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

如何在android中更改单选按钮的边框颜色?

如何在android中更改单选按钮的边框颜色?

我想改变android单选按钮的圆圈颜色.

提前致谢.任何帮助是极大的赞赏.

我尝试了不同的解决方案和关注,如果有任何属性是其他可绘制的图像

android android-ui

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

任何更快的转储UI层次结构的方法?

现在我正在使用uiautomator像这样转储UI:

adb shell uiautomator dump
Run Code Online (Sandbox Code Playgroud)

它工作正常,但执行它需要大约3秒钟.所以我想知道是否有更快的方法呢?就像创建一个转储UI的服务一样,还是需要一段时间?

android android-ui android-layout android-uiautomator

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