Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android中网格视图的无线电组实施大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_1@
我想在GridView上实现Radio Group,因此只能在grid的元素中选择单个项目. @H_772_4@ @H_772_4@请帮忙.

解决方法

限制从网格中选择元素的目的可以如下完成: @H_772_4@ @H_772_4@1.网格元素的创建.

@H_772_4@
<LinearLayout
    android:id="@+id/item_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
      android:gravity="center">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <RadioButton
        android:id="@+id/radiobtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Image" />


</LinearLayout>
@H_772_4@2.在自定义适配器的getView()方法中填充此xml.

@H_772_4@
public class MyAdapter extends BaseAdapter {

    Context mCtx;
    int[] mImg;
    LayoutInflater layoutInflater;
    RadioGroup rgp;
    private RadioButton mSELEctedRB;
    privatE int mSELEctedPosition = -1;

    public MyAdapter(Context context,int[] img) {
        this.mCtx = context;
        this.mImg = img;
        rgp = new RadioGroup(context);
        layoutInflater = (LayoutInflater) mCtx
                .getSystemservice(LAYOUT_INFLATER_serviCE);

    }

    @Override
    public int getCount() {

        return mImg.length;
    }

    @Override
    public Object getItem(int position) {

        return null;
    }

    @Override
    public long getItemId(int position) {

        return 0;
    }

    @Override
    public View getView(final int position,View convertView,ViewGroup parent) {
        View view = convertView;
        Holder holder;

        if (view == null) {
            view = layoutInflater.inflate(R.layout.element,null);
            holder = new Holder();
            holder.image = (ImageView) view.findViewById(R.id.imageView);
            holder.radioButton = (RadioButton) view
                    .findViewById(R.id.radiobtn);
            view.setTag(holder);

        } else {

            holder = (Holder) view.getTag();
        }

        holder.radioButton.setOnClickListener(new View.onClickListener() {

            @Override
            public void onClick(View v) {

                if ((position != mSELEctedPosition && mSELEctedRB != null)) {
                    mSELEctedRB.setchecked(false);
                }

                mSELEctedPosition = position;
                mSELEctedRB = (RadioButton) v;
            }
        });

        if (mSELEctedPosition != position) {
            holder.radioButton.setchecked(false);
        } else {
            holder.radioButton.setchecked(true);
            if (mSELEctedRB != null && holder.radioButton != mSELEctedRB) {
                mSELEctedRB = holder.radioButton;
            }
        }

        return view;
    }

}

private class Holder {

    ImageView image;
    RadioButton radioButton;

}

大佬总结

以上是大佬教程为你收集整理的Android中网格视图的无线电组实施全部内容,希望文章能够帮你解决Android中网格视图的无线电组实施所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。