如何在android的listview中使用项目点击监听器两次

时间:2011-12-29 10:36:05

标签: android listview

我有一个列表视图,显示3个标题ID,名称和类型,最后有一行复选框,我想要的是 如果我单击第一个三个标题的值,它应该打开另一个列表视图,而当我检查我的复选框,这是最后只有复选框被选中时,不应该进行其他操作 我的代码如下所示 sfreport.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="#EFEFF7"
android:layout_width="fill_parent" android:layout_height="fill_parent"  android:orientation="vertical">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingLeft="2px"
    android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal">
        <TextView android:text="ID" android:width="80dip" android:layout_width="wrap_content"
        android:layout_height="fill_parent" style="@style/hdrListing" android:height="25sp" />
        <TextView android:text="Name" android:layout_weight="1.0" android:layout_width="wrap_content"
        android:layout_height="fill_parent" style="@style/hdrListing" android:height="25sp" />
        <TextView android:text="Type" android:width="80dip" android:layout_width="wrap_content"
        android:layout_height="fill_parent" style="@style/hdrListing" android:height="25sp" />
    </LinearLayout>
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingLeft="2px"
    android:paddingRight="2px" android:background="#000000"
    android:layout_width="fill_parent" android:layout_height="2px" android:orientation="horizontal">

    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingLeft="2px"
    android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#EFEFF7">
        <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@id/android:list"
        android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#EFEFF7"
        android:choiceMode="multipleChoice" />

    </LinearLayout>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="bottom"
    android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/ll6" />


        </LinearLayout>

而我设置值的其他xml是

  <?xml version="1.0" encoding="utf-8"?>
    <SRTekBox.Android.SRSD.widget.CheckableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:DRST="http://schemas.android.com/apk/res/SRTekBox.Android.SRSD" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="@color/list_bg">
        <TextView android:id="@+id/itemID" android:width="80dip"
        android:layout_centerVertical="true" android:textColor="#000000" android:focusable="false"
        android:layout_width="wrap_content" android:layout_height="fill_parent" />

        <TextView android:id="@+id/itemCaption" android:layout_weight="1.0"
        android:layout_centerVertical="true" android:textColor="#000000" android:focusable="false"
        android:layout_width="wrap_content" android:layout_height="fill_parent"/>

        <TextView android:id="@+id/itemType" android:width="80dip" android:gravity="center"
        android:layout_centerVertical="true" android:textColor="#000000" android:focusable="false"
        android:layout_width="wrap_content" android:layout_height="fill_parent"/>

        <SRTekBox.Android.SRSD.widget.InertCheckBox android:id="@+id/itemCheckBox"
        android:layout_width="19dip" android:layout_height="fill_parent" android:focusable="false"
        android:layout_centerVertical="true" android:button="@drawable/checkbox" android:width="19px" />
    </SRTekBox.Android.SRSD.widget.CheckableLinearLayout>

这是我的java代码---&gt;

 /* public void onListItemClick(ListView parent,View v,int position,long id){
            TextView t=(TextView)v.findViewById(R.id.itemID);
            TextView t4=(TextView)v.findViewById(R.id.itemCaption);
            TextView t5=(TextView)v.findViewById(R.id.itemType);

                    String sID="";
                    String sName="";
                    String SType="";

             sID = t.getText().toString();
             sName = t4.getText().toString();
            SType=t5.getText().toString();      


            //v.setBackgroundColor(Color.rgb(119,136,153));

            if("".equals(sID) || "MY VISIT SUMMARY".equals(sDesc)){
                return;
            }

            if("0".equals(sName)){
                return;
            }
            if("SA-E".equals(SType)){
                Intent intent=new Intent(this,SRSDReportsDrillDown.class);
                startActivity(intent);
            }

        }*/
        public void onListItemClick(ListView parent,View v,int position,long id){
            try{

                if(listView.isItemChecked(position)){
                    int idx=position;
                    Integer listCount=listView.getCount();

                    for(Integer xx=0;xx<listCount;xx++){
                        if(idx==xx){
                            listView.setItemChecked(xx,true);
                            popup();
                        }  
                        else{

                    }
                    return;

                }
            }

    }
            catch(Exception ex){
                MsgBox1(this,ex.toString());
            }
        }

0 个答案:

没有答案