问题是我想在回收器视图中添加片段每一行数据并尝试在 XML 中添加片段并在视图持有者中设置。但是发生错误,说重复 id 0x7f070075,标签 null,或父 id 0xffffffff 与 SomeFragment 的另一个片段。并尝试了第二种方法,即在视图中动态添加框架布局,并在每个框架布局中放置唯一 id 并动态添加片段。问题是找不到视图的错误
Caused by: java.lang.IllegalArgumentException: Binary XML file line #0: Duplicate id 0x7f070075, tag null, or parent id 0xffffffff with another fragment for com.example.my.samefragmenttest.TestFragment
当尝试调试时,虽然工作正常,但不是运行时..我的问题是我想回收列表行中的一个片段。有任何想法吗??谢谢你..
抱歉迟到了,这是我的代码
public class MainActivity extends AppCompatActivity {
RecyclerViewPager mRecyclerView;
List<Person> peopleList = new ArrayList<Person>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialData();
mRecyclerView = (RecyclerViewPager) findViewById(R.id.list);
mRecyclerView.setLayoutManager(new
LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
mRecyclerView.hasFixedSize();
final RecyclerAdapter recyclerAdapter = new
RecyclerAdapter(this,peopleList,this.getSupportFragmentManager());
mRecyclerView.setAdapter(recyclerAdapter);
}
}
/**
* Created by MY on 2018-03-11.
*/
public class RecyclerAdapter extends
RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
List<Person> personList;
Context context;
FragmentManager fragmentManager;
int count=0;
public RecyclerAdapter(Context context, List<Person> peopleList,
FragmentManager supportFragmentManager) {
this.personList = peopleList;
this.context = context;
this.fragmentManager = supportFragmentManager;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Context context = parent.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
// Inflate the custom layout
View view = inflater.inflate(R.layout.row_item, parent, false);
// Return a new holder instance
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Person person = personList.get(position);
// Set item views based on your views and data model
holder.id.setText(String.valueOf(person.getId()));
holder.testFragment = new TestFragment();
}
@Override
public int getItemCount() {
return personList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
TextView id;
LinearLayout linearLayout;
FrameLayout frameLayout;
TestFragment testFragment;
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public ViewHolder(View itemView) {
super(itemView);
id = (TextView)itemView.findViewById(R.id.txt_id);
linearLayout = (LinearLayout)itemView.findViewById(R.id.linear);
frameLayout = (FrameLayout)itemView.findViewById(R.id.test_frame);
if(testFragment==null){
fragmentManager.findFragmentByTag(TestFragment.TAG);
// TestFragment.newInstance(fragmentManager);
}
}
}
我认为您不能将片段用作回收站视图。
请参阅此处。参考
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句