我已经在另一个项目中使用自定义适配器创建了它,但是我没有使用片段。我现在有一个使用片段的项目,并且正在片段中显示listview。我不知道或无法确切找到我需要哪些规则和哪些 classs / 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;
}
}
然后,我将适配器设置为列表视图。此类与列表视图所在的活动位于同一Java文件中。如果我在片段中执行此操作,则会得到很多红线。 getLayoutInflater()和上面其他类的变量将为红色。
到目前为止,据我了解,您需要MainActivity.java,MyFragment.java和Adapter.java。要使您的列表视图与阵列一起使用,您需要设置一个适配器,包括当前活动和要使用的阵列。如果有人可以解释我实际需要什么文件以及它们如何协同工作(相互发送信息并彼此启动),我将不胜感激。
注意:我必须使用自定义适配器。
答案 0 :(得分:0)
您可以在活动和片段中使用自定义适配器,没有区别。您可以提供一串红线的屏幕截图吗?
您的问题也不正确:“我需要什么文件?”。您需要使用类,活动的第一类或片段来创建/声明/初始化第二类(自定义适配器)并用数据填充它。