gpt4 book ai didi

java - 如何在 fragment 内使适配器工作到Listview

转载 作者:行者123 更新时间:2023-12-02 05:10:30 24 4
gpt4 key购买 nike

我正在使用带有 ListView 的 fragment 来显示 Firebase 数据库中的一些元素。但适配器似乎无法正常工作;我跟踪了代码,一切看起来都工作正常。有谁知道我哪里出错了?

我在适配器上下文中尝试了 getActivity().getBaseContext() 和 getContext(),但它也不起作用

public class ListFragment extends Fragment implements View.OnClickListener{

private RecyclerView rcv;
private ListView lstvw;
DatabaseReference ddbbr;

public ListFragment() {
// Required empty public constructor
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_list, container, false);
lstvw = v.findViewById(R.id.lstvwlistamini);
ddbbr = FirebaseDatabase.getInstance().getReference("juegos");
ddbbr.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

ArrayAdapter<String> adapter;
ArrayList<String> list = new ArrayList<String>();

for (DataSnapshot datasnapshot: dataSnapshot.getChildren()) {

Juego juego = datasnapshot.getValue(Juego.class);

String titulo = juego.getTitulo();
list.add(titulo);
Toast toast = Toast.makeText(getContext(),list.get(0).toString(),Toast.LENGTH_LONG);
toast.show();

}
adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,list);
lstvw.setAdapter(adapter);

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});


// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_list, container, false);
}

正如我所说,应用程序不会崩溃,界面也可以工作,但 ListView 是空的

最佳答案

当您返回 Fragment 的 View 时,您正在膨胀一个新 View ,在 onCreateView 函数的最后一行返回之前膨胀的 View ,替换:

return inflater.inflate(R.layout.fragment_list, container, false);

与:

return v;

关于java - 如何在 fragment 内使适配器工作到Listview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com