我正在尝试从ViewPager动态添加和删除片段,添加工作没有任何问题,但删除不能按预期工作.
每次我想删除当前项目时,最后一项将被删除.
我还尝试使用FragmentStatePagerAdapter或在适配器的getItemPosition方法中返回POSITION_NONE.
我究竟做错了什么?
这是一个基本的例子:
MainActivity.java
public class MainActivity extends FragmentActivity implements TextProvider {
private Button mAdd;
private Button mRemove;
private ViewPager mPager;
private MyPagerAdapter mAdapter;
private ArrayList<String> mEntries = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEntries.add("pos 1");
mEntries.add("pos 2");
mEntries.add("pos 3");
mEntries.add("pos 4");
mEntries.add("pos 5");
mAdd = (Button) findViewById(R.id.add);
mRemove = (Button) findViewById(R.id.remove);
mPager = (ViewPager) findViewById(R.id.pager);
mAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
addNewItem();
}
});
mRemove.setOnClickListener(new OnClickListener() {
@Override
public void …Run Code Online (Sandbox Code Playgroud) 我目前正在努力与本机做出反应.我想要的是一个基于react native的库项目,然后我可以将其包含在我的一些应用程序中.
我尝试的第一件事是将所有基本的反应设置代码[1]移动到现有应用程序内的Fragment中.这没有任何问题.
然后我开始了一个全新的Android项目,其中包含一个空的Activity.在这个项目中,我添加了一个新的Android库项目模块,该模块应包含"react native fragment".我初始化了根项目文件夹中的react本机项目.
我目前的项目结构如下:
ReactApplication
- basic files (index.android.js, index.ios.js, package.json, build.gradle, settings.gradle)
- app/ (contains the real native android app which includes the "react native fragment")
- reactlib/ (library project which contains a fragment with the code from [1])
- ios/
- node_modules/ (contains react-native)
Run Code Online (Sandbox Code Playgroud)
通过npm start工作启动开发服务器没有任何问题,但是一旦我启动Android应用程序,我得到以下logcat输出:
W/unknown:React(26957): Unable to dispatch keyboard events in JS as the react instance has not been attached
W/unknown:React(26957): You seem to be running on device. Run 'adb reverse …Run Code Online (Sandbox Code Playgroud)