如何在android中使用arrayAdapter和Listfragment制作按钮列表?

时间:2016-02-03 09:14:10

标签: android android-arrayadapter android-listfragment

我是非常初学者所以请帮助我,我正在使用android工作室,我在互联网上看到一个是使用arrayadapter和listfragment列出字符串集,我正在为按钮做这个,我失败了,亲切帮助我:)提前感谢....

public class MainActivityListFragment extends ListFragment {

@Override
public void onActivityCreated(Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);
    Button[] btn= new Button[3];
    ArrayAdapter<Button> adapter = new ArrayAdapter<Button>(getActivity(),R.layout.buttonview,btn );
    setListAdapter(adapter);

}
 @Override
 public void onListItemClick(ListView lv,View v, int position,long id)
 {
     super.onListItemClick(lv,v,position,id);
 }

}

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

使用数组适配器无法通过这种方式执行此操作。您需要为此创建自定义适配器。

public class MyArrayAdapter extends ArrayAdapter<String[]>{
    Context mContext;
    String[] data;

   public MyArrayAdapter(Context context, int textViewResourceId, String temp) {
       super(context, textViewResourceId);
       mContext = context;
       this.data = temp;
    }

@Override
public View getView(int position, View convertView, ViewGroup parent{
    View row = convertView;
    ViewHolder holder = new ViewHolder();

    if(row == null){
        LayoutInflater inflater ((Activity)mContext).getLayoutInflater();
        row = inflater.inflate(R.layout.pager, parent, false);
        holder.v1 = (Button) row.findViewById(R.id.button);
    row.setTag(holder);
}
else
{
    holder = (ViewHolder) row.getTag();
}
holder.v1.setText(data[position])
return row;
}
    public static class ViewHolder {
       Button button;
    }
}

您可以这种方式创建自定义适配器并将数据发送到列表。 pager是你的布局,它应该有一个按钮。