Java 片段内容在我切换并再次选择它之前不会显示 我的Android应用程序有一个问题:我的片段内容在切换并再次选择之前不会显示。应该在片段开始时加载的是一个卡片列表。
这里是加载所有内容的片段的onCreate方法:Java 片段内容在我切换并再次选择它之前不会显示 我的Android应用程序有一个问题:我的片段内容在切换并再次选择之前不会显示。应该在片段开始时加载的是一个卡片列表。,java,android,android-fragments,Java,Android,Android Fragments,这里是加载所有内容的片段的onCreate方法: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); bundle = this.getArguments(); debts = bundle.getParcelableArrayList("list"); adapter = new CardAdapter(getActivi
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bundle = this.getArguments();
debts = bundle.getParcelableArrayList("list");
adapter = new CardAdapter(getActivity(), android.R.color.holo_blue_dark);
for (int i=0; i<debts.size();++i) {
Debt d = debts.get(i);
Card card = new Card(d.getSecondUser(),d.getSubject());
adapter.add(card);
}
}
如果我使用已经加载的卡片的ArrayList,它就可以工作,但不是这样。
我几乎什么都试过了。。。多谢各位
更新:即使我尝试了你给我的解决方案,它仍在发生,我的代码现在:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bundle = this.getArguments();
debts = bundle.getParcelableArrayList("list");
adapter = new CardAdapter(getActivity(), android.R.color.holo_blue_dark);
for (int i=0; i<debts.size();++i) {
Debt d = debts.get(i);
Card card = new Card(d.getSecondUser(),d.getSubject());
adapter.add(card);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_debts, container,
false);
CardListView list = (CardListView) rootView.findViewById(R.id.newCard);
list.setCardTheme(CardTheme.Light);
list.setAdapter(adapter);
return rootView;
}
您应该在onCreateView方法内初始化cardListView。在onActivityCreated方法之前调用onCreateView。onCreateView应该是片段视图初始化的时间点
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//use your layout file instead of R.layout.fragment_main
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
CardListView list = rootView.findViewById(R.id.newCard);
list.setCardTheme(CardTheme.Light);
list.setAdapter(adapter);
}
请查看。onActivityCreated中的getView也可以使用。嘿,我试过了,但是,它一直在发生。我编辑了我的第一条信息。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//use your layout file instead of R.layout.fragment_main
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
CardListView list = rootView.findViewById(R.id.newCard);
list.setCardTheme(CardTheme.Light);
list.setAdapter(adapter);
}