0

如何将 ListView 放入片段中?我正在尝试使用 getview() 但它不起作用。请帮帮我。

我的数组是带有属性类型字符串的邮件,代码编译没有错误。

我不明白

我的班级片段1是

public class Fragment1 extends Fragment{
private ListView list;
LayoutInflater inflater1;
ViewGroup container1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle    savedInstanceState) {
    this.inflater1=inflater;
    this.container1=container;
   return  inflater.inflate(R.layout.list_items, container, false);
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    View view = this.inflater1.inflate(R.layout.list_items,this.container1, false);
    list= (ListView)view.findViewById(R.id.list);

list.setAdapter(new Adapter2 (this));

}

public class Adapter2 extends ArrayAdapter Mail {

private Activity mcontext;
private Correo[] mvalues;
public Adapter2(Fragment context) {
    super(context.getActivity(),R.layout.simple_item,Mail);
    this.mcontext= (Activity) context.getActivity();
    this.mvalues= Mail; // My array list 
}

public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = mcontext.getLayoutInflater();
    View item = inflater.inflate(R.layout.simple_item,null);
    TextView lblDe = (TextView)item.findViewById(R.id.textViewlabel);
    lblDe.setText(mvalues[position].getText());
    TextView lblDe2 = (TextView)item.findViewById(R.id.textViewlabel2);
    lblDe2.setText(mvalues[position].getText());
    return(item);
    }
}
4

1 回答 1

1

ListView 和 Fragments 不能那样工作。

1)onCreateView是您指定View将在片段中显示的方法。所以onActivityCreated不是正确的。

2)请参阅此处的示例如何ArrayAdapter工作。但是,如果您想为每个列表项BaseAdapter显示自己的,我建议您使用class。View

于 2013-07-08T17:24:35.880 回答