小编she*_*pya的帖子

Android:批量插入,不推荐使用InsertHelper时

有很多答案和教程使用InsertHelper在SQLiteDatabase中快速批量插入.
但是从API 17开始,不推荐使用InsertHelper.

什么是在Android SQLite中批量插入大量数据的最快方法?

到目前为止,我最关心的是SQLiteStatement使用起来不太舒服,其中InsertHelper具有绑定列和绑定值,这有点微不足道.

sqlite android bulkinsert android-contentprovider android-sqlite

18
推荐指数
1
解决办法
9436
查看次数

onWaveInstanceState之后的TabWidget onClick(java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作)

我创建了一个片段标签控件下面的片段兼容包样品,我改变片段onTabChanged,但我有一些市场报告,斑点IllegalStateExceptiononSaveInstanceState,这是通过询问承诺片段经理打电话后引起的onSaveInstanceState(),但我怎么能接受performClick后onSaveInstanceStateIS叫什么名字?

堆栈跟踪:

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:548)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:532)
at my.app.NewsTab.onTabChanged(NewsTab.java:144)
at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:378)
at android.widget.TabHost.setCurrentTab(TabHost.java:363)
at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:149)
at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:559)
at android.view.View.performClick(View.java:3122)
at android.view.View$PerformClick.run(View.java:12012)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4126)
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)
Run Code Online (Sandbox Code Playgroud)

看起来这是以某种方式讨论(通过搜索错误),但对我来说,它只是一个副作用,一个支持的错误?我还阅读了有关honey +的不同应用程序生命周期,但在保存实例后执行单击看起来对我来说是无法解决的行为

我应该使用commitAllowingStateLoss()还是 mTabHost.setOnClickListener(null)onSaveInstanceState

不幸的是我无法重现,我只看到关于开发者控制台的罕见报告

活动有 android:configChanges="orientation|screenLayout"

我用"总是完成"测试了生命周期

标签片段切换器在ViewPager中,但我怀疑是否相关

tabs android fragment

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

RecyclerView与GridLayoutManager和Picasso显示错误的图像

更新#1

添加了hasStableIds(true)并将Picasso更新到版本2.5.2.它没有解决问题.

再生产:

RecyclerView with GridLayoutManager(spanCount = 3).列表项是带有ImageView的CardViews.

当所有项目都不适合时,在一个项目上调用notifyItemChanged的屏幕会导致对onBindViewHolder()的多次调用.一个调用是来自notifyItemChanged其他人的位置,用于屏幕上不可见的项目.

问题:

有时,传递给notifyItemChanged的位置的项目加载了属于不在屏幕上的项目的图像(很可能是由于视图持有者的回收 - 尽管我会假设如果项目保留在原位,那么传递的视图持有者会是一样的).

我发现Jake在这里关于调用load()的其他问题的评论,即使文件/ uri为null.图像加载到每个onBindViewHolder上.

简单示例应用:

git clone https://github.com/gswierczynski/recycler-view-grid-layout-with-picasso.git
Run Code Online (Sandbox Code Playgroud)

点击一个项目调用notifyItemChanged,其参数等于该项目的位置.

码:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }

    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);

            RecyclerView rv = (RecyclerView) rootView.findViewById(R.id.rv);

            rv.setLayoutManager(new …
Run Code Online (Sandbox Code Playgroud)

android picasso gridlayoutmanager android-recyclerview

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

来自xml的ListFragment布局

如何从xml 创建ListFragment(支持v4库)布局ListFragment以编程方式设置其布局,因此如果要修改它,则需要添加/删除视图.

xml layout android fragment

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

在Android上以编程方式打开屏幕

当用户使用电源按钮关闭时,我需要以编程方式打开屏幕,是的,我总是在Activity保持屏幕上有正确的标志,但它不会避免用户按下电源按钮.

到目前为止,我已经找到了一个解决方案,但它使用了一个已弃用的唤醒锁

sWakeLock = sPM.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, TAG_WAKELOCK);

sWakeLock.acquire();
sWakeLock.release();
Run Code Online (Sandbox Code Playgroud)

有更好的方法来实现它吗?

android screen powermanager

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