自定义片段中的ListView,我需要什么文件?

时间:2019-06-14 18:31:02

标签: java android listview android-fragments baseadapter

我已经在另一个项目中使用自定义适配器创建了它,但是我没有使用片段。我现在有一个使用片段的项目,并且正在片段中显示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。要使您的列表视图与阵列一起使用,您需要设置一个适配器,包括当前活动和要使用的阵列。如果有人可以解释我实际需要什么文件以及它们如何协同工作(相互发送信息并彼此启动),我将不胜感激。

注意:我必须使用自定义适配器。

1 个答案:

答案 0 :(得分:0)

您可以在活动和片段中使用自定义适配器,没有区别。您可以提供一串红线的屏幕截图吗?

您的问题也不正确:“我需要什么文件?”。您需要使用类,活动的第一类或片段来创建/声明/初始化第二类(自定义适配器)并用数据填充它。