因此,当我尝试使用FragmentStatePagerAdapter和Loader API但UI中没有设置值时,我的意思是当完成onLoadFinished()并将TextView、ImageView和changeCursor的值设置到我的适配器时,它并不反映它,我看到的是我在XML中设置的UI。
让我们看看我能不能把这个问题解释清楚。
我有一个列表,当一个项目是点击将得到一个详细的视图。当一个项目被选中时,两个元素被发送到detail、ids数组和所选项目的位置。
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
Intent intent = new Intent(ActionConstant.DETAIL);
intent.putExtra("ids", ids);
intent.putExtra("position", position);
startActivity(intent);
}
});
因此,在DetailActivity中有一个ViewPager,它有一个FragmentStatePagerAdapter,它使用ID和位置加载适当的数据。
@Override
public void onCreate(Bundle savedIntanceState) {
super.onCreate(savedIntanceState);
setContentView(R.layout.detail);
ids = getIntent().getLongArrayExtra("ids");
int currentIndex = getIntent().getIntExtra("position",-1);
mPagerAdapter = new DetailPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager, attaching the adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mPagerAdapter);
mViewPager.setCurrentItem(currentIndex);
}
并且DetailPagerAdapter重写getItem和getCount(返回IDS.Length)
@Override
public Fragment getItem(int i) {
return DetailFragment.newInstance(ids[i]);
}
现在,在DetailFragment中,newInstance执行以下操作
公共静态DetailFragment newInstance(长id){DetailFragment f=new DetailFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putLong("_id", id);
f.setArguments(args);
return f;
}
以及何时调用onLoadFinished。
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
if (loader.getId() == 1)
adapter.changeCursor(cursor);
else if (loader.getId() == 2) {
if (!cursor.moveToNext())
return;
textName.setText(cursor.getString(cursor.getColumnIndexOrThrow(TraderColumns.NAME)));
}
}
Eureka,我在我的onResume()中看到的片段中所发生的事情是相当琐碎的,而且很有意义
getActivity().getSupportLoaderManager().restartLoader(CONTACT_REQUEST, null, this);
getActivity().getSupportLoaderManager().restartLoader(TRADER_DETAIL_REQUEST, null, this);
因此,这将使用activity的supportLoader管理器,因为这是一个实例,它把我所有的视图都搞乱了。相反,我使用:
getLoaderManager()。RestartLoader(CONTACT_REQUEST,null,this);
getLoaderManager()。RestartLoader(TRADER_DETAIL_REQUEST,null,this);
嗨,我正在使用springboot 1.5.3。大摇大摆地释放。当我运行应用程序时,我可以通过访问“localhost:3030/v2/api文档”来访问json swagger响应。但我无法访问“localhost:3030/swagger ui.html”,同时显示未找到“/swagger ui.html”的映射。我如何解决这个问题。 依赖关系 招摇过市配置
问题内容: 我在AngularJS项目的Date From和Date To字段上使用JQuery UI的Datepicker。我添加了将值绑定到模型值的指令,还添加了对OnSelect的检查,该检查为每个字段设置minDate和maxDate选项(因此Date To永远不会早于Date From)。问题在于,在加载页面时,实际上没有选择任何日期(即使模型具有值),因此仍然可以选择早于“日期自”的“
问题内容: 我是AngularJS新手。我想创建网格(使用ng-grid),其高度取决于窗口高度,即。 我已经写了指令: 当我调整浏览器窗口的大小但在第一次加载网站时未应用样式时,此方法效果很好。我可以在哪里放置代码以初始化身高? 问题答案: 我在为自己寻找解决同一问题的方法时遇到了您的帖子。我使用了基于多个帖子的指令来组合以下解决方案。您可以在这里尝试(尝试调整浏览器窗口的大小):http: /
我正试图用PhpUnit和Composer。为此,我做了: 1添加phpUnit到req作曲家部分: 2.根据需要安装: php编写器。phar安装--dev 手术成功结束。 安装phpunit/phpunit(3.7.6)下载:100% 不幸的是,当我想做测试时,我得到了 ./vendor/bin/phpunit PHP致命错误:对/home/serek/PHP/project/tests/bo
我的React客户端的Dockerfile: 我的Express后端的Dockerfile: 我的码头工人。项目根目录中的yml文件: 我的服务器。我的后端文件夹下的js文件: 当我跑的时候: 我得到以下输出在我的终端: 我的后端以代码0退出,我无法加载我的应用程序。我的后端正在运行。 我做错了什么,如何让我的React-Express Node应用程序与Docker Comment一起运行?
我正在使用JavaFX WebView加载网站。该网站正在使用iframes。 它在经典浏览器上运行良好,但当我使用JavaFX WebView显示页面时,框架是空的。 我试图从Java代码中以编程方式显示iframe的内容(根据本文:如何通过javafx webview获取iframe加载页面的内容?)。它是空的。 我还尝试在客户端使用内容安全策略、X-Frame-Options等(通过覆盖HT