我已经在另一个项目中使用自定义适配器创建了这个,但我没有使用 fragment 。我现在有一个使用 fragment 的项目,并在 fragment 中显示 ListView 。我不知道或无法准确找到要在 fragment 中工作所需的规则和类/java文件。
我使用的互联网上的每个示例都会以某种方式出现错误,并且由于我不了解如何完成此操作的各个方面,因此我无法自行修复它。
在我之前的项目中,我这样做了(CalculationsActivity.java):
public class CalculationsActivity extends AppCompatActivity implements Serializable {
//content of my class
}
class CustomAdapter extends BaseAdapter {
@Override
public int getCount() {
return arrayLi.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.customlayout, null);
ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
TextView content = (TextView) view.findViewById(R.id.content);
TextView date = (TextView) view.findViewById(R.id.date);
imageView.setImageResource(R.drawable.calcer);
String[] convertedArrLi = arrayLi.toArray(new String[arrayLi.size()]);
String[] convertedDates = dates.toArray(new String[dates.size()]);
content.setText(convertedArrLi[i]);
date.setText(convertedDates[i]);
return view;
}
}
然后我为我的 ListView 设置了一个适配器。这个类与显示 ListView 的 Activity 位于同一个java文件中。如果我在我的 fragment 中执行此操作,我会得到一堆红线。 getLayoutInflater() 和上面其他类中的变量将是红色的。
据我所知,到目前为止您需要 MainActivity.java、MyFragment.java 和 Adapter.java。要使 ListView 与数组配合使用,您需要设置一个适配器,其中包括当前 Activity 和要使用的数组。如果有人可以解释我实际需要哪些文件以及它们如何协同工作(互相发送信息并互相启动),我将不胜感激。
注意:我必须使用自定义适配器。
最佳答案
您可以在 Activity 和 Fragment 中使用自定义适配器,没有区别。你能提供你那堆红线的截图吗?
您的问题也不正确:“我需要什么文件?”。您需要类, Activity 或 fragment 的第一类来创建/声明/初始化第二类(自定义适配器)并用数据填充它。
关于java - 在 fragment 中自定义ListView,我需要什么文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56603492/