【问题标题】:custom listView in fragment tab片段选项卡中的自定​​义列表视图
【发布时间】:2023-03-05 03:07:02
【问题描述】:

我正在尝试在片段中制作自定义列表视图,我已经搜索了其他问题,但我找不到任何东西 我的列表适配器是这个

public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
        String[] web, Integer[] imageId) {
    super(context, R.layout.listview, web);
    this.context = context;
    this.web = web;
    this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
    LayoutInflater inflater = context.getLayoutInflater();
    View rowView= inflater.inflate(R.layout.listview, null, true);
    TextView txtTitle = (TextView) rowView.findViewById(R.id.textView1);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView1);
    txtTitle.setText(web[position]);
    imageView.setImageResource(imageId[position]);
    return rowView;
}
}  

我的 Fragment 类是这样的:

public class tab1 extends Fragment {

ListView list;
  String[] string = {
    "Shoe",
      "Clothes",

  } ;
  Integer[] imageId = {
      R.drawable.shoe,
      R.drawable.clothes,

  };    

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {



    View rootView = inflater.inflate(R.layout.tab1, container, false);

    CustomList adapter = new CustomList(tab1.this, string, imageId);
        list=(ListView) rootView.findViewById(R.id.list);
            list.setAdapter(adapter);
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {
                        //Toast.makeText(tab1.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();
                    }
                });


    return rootView;
}

}

问题出在这部分:CustomList adapter = new CustomList(tab1.this, string, imageId); 构造函数(public CustomList(活动上下文, String[] web, Integer[] imageId)) 只接受Activity

我该如何解决这个问题?

【问题讨论】:

  • 当你在片段中时,你需要使用 getActivity() insted of this。

标签: android android-fragments


【解决方案1】:

你试过了吗:

CustomList adapter = new CustomList(getActivity(), string, imageId);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多