Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态定义项时如何创建自定义数组适配器_Java_Android_Android Studio_View_Imagebutton - Fatal编程技术网

Java 动态定义项时如何创建自定义数组适配器

Java 动态定义项时如何创建自定义数组适配器,java,android,android-studio,view,imagebutton,Java,Android,Android Studio,View,Imagebutton,我有一个自定义适配器,它应该包含图像按钮。但是,我对getView()方法的重写实现有点困惑。因为我的图像按钮是动态定义的,所以我可以使用代码恢复图像按钮 @Override public View getView(int i, View view, ViewGroup viewGroup){ ImageButton ibutton = (ImageButton) getItem(i); 我如何返回它的视图?我没有专门为它创建一个xml文件,因为它只是一个ImageButton(没有与

我有一个自定义适配器,它应该包含图像按钮。但是,我对getView()方法的重写实现有点困惑。因为我的图像按钮是动态定义的,所以我可以使用代码恢复图像按钮

@Override
public View getView(int i, View view, ViewGroup viewGroup){
    ImageButton ibutton = (ImageButton) getItem(i);
我如何返回它的视图?我没有专门为它创建一个xml文件,因为它只是一个ImageButton(没有与其他任何东西结合),但是有必要为它创建一个xml吗?或者是否有一种方法可以轻松地从imagebutton本身获取视图

当我为getView()尝试此操作时,由于某些原因,imagebutton无法单击

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageButton imageButton = getItem(position);
    return imageButton ;
}

尝试构建如下所示的适配器:

public class ImageButtonAdapter extends BaseAdapter {
   private Context mContext;

   // Constructor
   public ImageButtonAdapter(Context c) {
      mContext = c;
   }

   public int getCount() {
      return listCount;
   }

   public Object getItem(int position) {
      return null;
   }

   public long getItemId(int position) {
      return 0;
   }

   // create a new ImageButton for each item referenced by the Adapter
   public View getView(int position, View convertView, ViewGroup parent) {
      ImageButton imageButton ;

      if (convertView == null) {
         imageButton = new ImageButton (mContext);
         imageButton.setLayoutParams(lp);
      } 
      else 
      {
         imageButton = (ImageButton ) convertView;
      }
      imageButton.setBackgroundColor(Color.TRANSPARENT)
      return imageButton ;
   } 

}

谢谢,这个有用。我不知道ImageButton本身可以作为视图返回。很抱歉,实际上,当我尝试使用getView方法时,ImageButton由于某种原因没有显示。你知道为什么吗?(我暂时注释掉了布局参数行)我还用另一个问题更新了原始问题,即imagebutton无法单击。是否尝试在图像按钮上设置clickListener,如下所示:imagebutton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View-View){Log.e(“位置”,“位置”+位置);});