- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 FragmentActivity 中使用 ListFragment 以及 SimpleCursorAdapter 和修改后的 CursorLoader。修改后的 CursorLoader 仅发出 rawQueries - 没有其他更改。
在 FragmentActivity 中的某个时刻,我需要重新获取为 ListFragment 中的 ListView 提供数据/游标。
我该怎么做?
非常感谢。
这是调用 ListFragment 中的方法的 FragmentActivity:
public class ActivityList extends FragmentActivity {
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {
...
processUpdateList();
}
...
private void processUpdateList() {
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragmentlist);
if (fragment != null) {
((FragmentList) fragment).requeryList();
}
}
}
这里是 ListFragment,其方法应启动 ListView 的重新查询、重新加载或重新绘制。 ListView.invalidate() 没有帮助 - 它没有更改显示的数据。
public class FragmentList extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
private SimpleCursorAdapter adapter;
private Context context;
private ListView listView;
public void requeryList() {
// listView.invalidate(); didn't re-query
// TODO: How???
}
@Override
public void onActivityCreated(final Bundle bundle) {
super.onActivityCreated(bundle);
context = getActivity().getApplicationContext();
listView = getListView();
getActivity().getSupportLoaderManager().initLoader(MyConstants.LDR_TABLE1LIST, null, this);
adapter = new SimpleCursorAdapter(context,
R.layout.fragmentlist_row,
null,
new String[] { Table1.DESCRIPTION },
new int[] { R.id.fragmentlist_row_description },
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
setListAdapter(adapter);
setListShown(false);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
@Override
public Loader<Cursor> onCreateLoader(final int id, final Bundle bundle) {
MyCursorLoader loader = null;
switch (id) {
case MyConstants.LDR_TABLE1LIST:
loader = new MyCursorLoader(context,
MySQLiteOpenHelper.TABLE1_FETCH,
null);
break;
}
return loader;
}
@Override
public void onLoaderReset(final Loader<Cursor> loader) {
adapter.swapCursor(null);
}
@Override
public void onLoadFinished(final Loader<Cursor> loader, final Cursor cursor) {
adapter.swapCursor(cursor);
setListShown(true);
}
}
最佳答案
尝试调用方法 restartLoader(MyConstants.LDR_TABLE1LIST, null, this);
刚刚在您的 requeryList()
方法中提供的 LoaderManager。
关于android - 如何从 FragmentActivity 更新 ListFragment 中的 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027202/
我遇到了一个无法用应用程序的抽屉导航解决的问题。抽屉导航中的链接之一是打开 FragmentActivity(其中包含 ViewPager)。其他链接是 fragment 。现在我已将其设置为启动该
除了使用 Intents 启动方法外,还有其他方法可以调用 FragmentActivity 中的方法吗?有人可以帮忙吗? 代码如下: class MainActiviy extends Ac
在我的应用程序中,它们不是 FragmentActivity.java,但崩溃报告给了我以下错误 Fatal Exception: android.content.ActivityNotFoundEx
我是 Java 和 Android 的初学者,我认为这更像是一个 Java 问题,因为它在 Android 中表现出来。 我正在使用 Android 支持包 (android.support.v4.a
我有两项 Activity : MainActivity,它扩展了 FragmentActivity 并具有 ViewActivity,它只是一个 Activity,以 MainActivity 作为
我对 FragmentActivity 类有疑问当我导入包时: import android.support.v4.app.FragmentActivity; 当我将其放入代码中时,导入 Fragme
今天我尝试创建一个带有 fragment Activity 的项目。我有一个 MainActivity 范围 FragmentActivity。 MainActvity 有布局。 activity_m
我在使用 FragmentActivity 和 SupportMapFragment 时遇到了一些问题。 map 的缩放比例很不稳定。这是代码: public class GoogleMapActiv
Activity 在导入 FragmentActivity 时显示错误。 import android.support.v4.app.FragmentActivity; import andr
我的代码中有一个具有 ListView 的 Activity ,我通过适配器类控制此 ListView 。每个 ListView 中都有一个 TextView,我想通过单击每个项目(TextView)
我正在尝试创建一个使用 fragment 的应用程序,但是当我尝试在 FragmentActivity 中显示一个 Fragment 时,操作栏没有出现。 fragment Activity 类: p
我可以使用下面的代码转换到 Fragment 类,但是如何使用相同的代码转换到 FragmentActivity。 FragmentActivity activity = new ABC(); //
您好,您可以在这里查看我的代码。我的问题是:使用这段代码,我的 EditText 和我的 Button 字段为空,所以我无法对它们执行任何操作。 请你帮我访问这个按钮。对于由 eclipse 自动生成
我尝试将 Android 兼容性库(或现在称为支持库)v4 用于 pre-honeycomb android 设备。我明白,我应该使用 FragmentActivity 类,而不是使用 Fragmen
我的主题不工作我已经看到了这个How do I change the background color of the ActionBar of an ActionBarActivity using X
您好,我正在尝试将 Intent 传递给 FragmentActivity,但它不起作用。 Activity 在 FragmentActivity 的初始化中关闭。这是 Activity : publ
在我的应用程序中,我有选项卡,但现在我需要添加 Sherlock Actionbar 我知道我需要使用 extends SherlockActivity 但早期我有 FragmentActivity
我正在尝试将 ActionBar 按钮添加到 FragmentActivity,但我无法弄清楚我做错了什么。运行应用程序时,我看到的只是 ActionBar 上的默认菜单按钮,而不是我的按钮。 fra
我正在扩展类中的 FragmentActivity,该类用作我的其他 Activity 的基础 Activity 。我的问题是当我从我的基本 Activity 扩展我的其他 Activity 时,我失
我正在使用 android 示例,FragmentTabs . 比如说,有 4 个选项卡(A、B、C、D)。我使用此代码将选项卡 fragment (A) 替换为另一个 (E) FragmentTra
我是一名优秀的程序员,十分优秀!