【问题标题】:Is restarting an activity the only solution here?重新启动活动是这里唯一的解决方案吗?
【发布时间】:2012-11-02 00:02:02
【问题描述】:

我在一个活动中有两个 Fragment 课程和一个 dragEventListner 课程。每个片段类都有一个imageScroller,由它们自己的imageAdapterlistArray 控制。 Fragment1 类有一组图像被拖放到Fragment2。从 sd 卡中读取图像。当图像被丢弃时,我更新Fragment2listArray 并调用<adapter>.notifyDataSetChanged()。图像被添加到列表中(正如我在文件资源管理器中看到的那样),但在我重新启动应用程序之前,更改不会显示在活动中(即我看不到丢弃的图像)。但是,我尝试通过finish() 重新启动应用程序,然后调用已保存的意图。下面的代码:

Intent intent = getIntent();
finish();
startActivity(intent);

由于弹出崩溃消息Unfortunately, app has stopped working 然后恢复,这不是最好的。是重启应用程序唯一的解决方案还是我还有其他选择?

【问题讨论】:

    标签: android android-listview android-fragments android-activity android-arrayadapter


    【解决方案1】:

    您是否在图像卷轴的适配器上使用 notifyDataSetChanged()?我的项目中有类似的东西:

    mAdapter.setArticles(ArticleList);
    mPager.setAdapter( mAdapter );
    
    
    ArticleList.add (0, ProcessXMLArticle(ArticleSearched)); 
    mPager.getAdapter().notifyDataSetChanged();
    

    mPAger 是一个视图寻呼机,我只是将一个项目添加到列表中并在您的情况下调用 notify() mPager 将是您的 imageScroller

    【讨论】:

    • 是的,我用了同样的方法。但是,一旦在 DragListner 中,控件就永远不会回到 Fragment2 类。所以图像永远不会出现。
    猜你喜欢
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    相关资源
    最近更新 更多