【问题标题】:How to make List of button using arrayAdapter and Listfragment in android?如何在android中使用arrayAdapter和Listfragment制作按钮列表?
【发布时间】:2016-02-03 09:14:10
【问题描述】:

我是初学者,所以请帮帮我,我正在使用 android studio,我在互联网上看到一个正在使用 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);
 }

}

【问题讨论】:

  • 你不能这样做......你必须为此制作自定义适配器
  • 您必须创建一个单独的布局来显示按钮列表。创建一个仅包含一个按钮的布局,并使用适配器对其进行设置。
  • String[] 可以这样添加,但不能像这样添加按钮数组

标签: android android-arrayadapter android-listfragment


【解决方案1】:

【讨论】:

    【解决方案2】:

    您不能使用 Array 适配器这样做。您需要为此创建自定义适配器。

    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 是你的布局,它应该有按钮。

    【讨论】:

      猜你喜欢
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 2021-02-16
      • 1970-01-01
      • 2020-02-24
      相关资源
      最近更新 更多