Android 如何选中单击图像时的复选框?

Android 如何选中单击图像时的复选框?,android,Android,我已经创建了一个gridview,并在其中添加了一个复选框。单击复选框grid view项目,即带有文本视图的图像视图,即可选中该项目 但我想勾选网格视图项点击时的复选框 这是我的主要活动 public class MainActivity extends Activity { GridView gridview; @Override protected void onCreate(Bundle savedInsta

我已经创建了一个gridview,并在其中添加了一个复选框。单击复选框grid view项目,即带有文本视图的图像视图,即可选中该项目

但我想勾选网格视图项点击时的复选框

这是我的主要活动

 public class MainActivity extends Activity {

            GridView gridview;


            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);



                gridview = (GridView) findViewById(R.id.mainGrid);

                gridview.setAdapter(new ImageAdapter(MainActivity.this));

                gridview.setOnItemClickListener(new OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View v, int position,
                            long id) {
                        // TODO Auto-generated method stub
        //
        //



                        ImageAdapter.holder.ItemCheck.setId(position);
                        ImageAdapter.holder.ItemCheck.setOnClickListener(new OnClickListener() {

                            public void onClick(View v) {
                                // TODO Auto-generated method stub

                                //ImageAdapter.holder.ItemCheck.setChecked(true);
                                Toast.makeText(MainActivity.this, "Itemclicked" ,Toast.LENGTH_LONG).show();
                            }
                        });
                        Toast.makeText(
                                MainActivity.this, "Itemclicked", Toast.LENGTH_SHORT).show();

                    }
                });

                };


            @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }

        }
Gridview.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/gridlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <GridView
        android:id="@+id/mainGrid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:horizontalSpacing="0dp"
        android:numColumns="3"
        android:clickable="true"
        android:stretchMode="columnWidth"
        android:verticalSpacing="0dp" >
    </GridView>

</LinearLayout>

griditems.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/GridItem"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/grid_item_image_OnTap"
        android:layout_width="100dp"
        android:layout_height="100dp" >
    </ImageView>

    <TextView
        android:id="@+id/grid_item_text_onTap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal"
        android:text="TextView"
        android:textColor="@android:color/black" >
    </TextView>

    <CheckBox
        android:id="@+id/itemCheckBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:button="@drawable/custom_checkbox"
        android:checked="true"
        android:visibility="visible"
        android:focusable="true" />

</RelativeLayout>

请推荐我。我是android新手,我被困在这里了

谢谢

我想选中网格视图项目点击时的复选框

您可以使用
onItemClick
方法的第二个参数来执行此操作,如下所示:

@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    CheckedTextView check = (CheckedTextView) view;
    check.setChecked(!check.isChecked());
    boolean click = !check.isChecked();
    check.setChecked(click);
    if (click) {
        //write what you want whenever click a checkbox
    }
}
@覆盖
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
CheckedTextView检查=(CheckedTextView)视图;
check.setChecked(!check.isChecked());
布尔单击=!check.isChecked();
check.setChecked(单击);
如果(单击){
//每当单击复选框时,写下所需内容
}
}

谢谢….正在工作..但是如果我想在单击网格项时取消选中它,那么我应该做什么…如果你想取消选中复选框,那么使用
if(itemcheck.isChecked()){itemcheck.setChecked(true);}否则{itemcheck.setChecked(false);}
一个较短的方法是
itemcheck.setChecked(!itemcheck.isChecked())
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    CheckedTextView check = (CheckedTextView) view;
    check.setChecked(!check.isChecked());
    boolean click = !check.isChecked();
    check.setChecked(click);
    if (click) {
        //write what you want whenever click a checkbox
    }
}