多重嵌套点击事件Error:(81, 15) 错误: 不兼容的类型: RelativeLayout无法转换为LinearLayout

来源:互联网 发布:js删除div标签 编辑:程序博客网 时间:2024/06/07 17:04

当Linerlayout内使用Linerlayout再在里面使用Relativelayout时,点击事件就变得麻烦起来

xml部分代码如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              xmlns:app="http://schemas.android.com/apk/res-auto"              android:layout_width="match_parent"              android:layout_height="match_parent"              android:orientation="vertical"              android:weightSum="1">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:layout_margin="15dp"        android:weightSum="1"        android:clickable="false">        <RelativeLayout            android:layout_width="57dp"            android:layout_height="79dp"            android:id="@+id/layout_query"            android:layout_weight="0.29"            android:onClick="onClick_query"            android:clickable="true">            <ImageView                android:layout_width="20dp"                android:layout_height="20dp"                app:srcCompat="@drawable/query"                android:id="@+id/img_query"                android:layout_alignParentLeft="true"                android:layout_alignParentStart="true"                android:layout_alignParentTop="true"                android:layout_alignParentRight="true"                android:layout_alignParentEnd="true"                android:layout_above="@+id/txt_query"/>            <TextView                android:text="查询"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:gravity="center"                android:id="@+id/txt_query"                android:layout_centerVertical="true"                android:layout_alignParentRight="true"                android:layout_alignParentEnd="true"                android:layout_alignParentLeft="true"                android:layout_alignParentStart="true"/>        </RelativeLayout>
点击事件代码
 query=(RelativeLayout) findViewById(R.id.img_query);//        query.setOnClickListener(new View.OnClickListener() {//            @Override//            public void onClick(View v) {//                Intent intent=new Intent();//                intent.setClass(MenuActivity.this,QueryActivity.class);//                MenuActivity.this.startActivity(intent);//            }//        });

这时,Android Monitor就会显示Error:(81, 15) 错误: 不兼容的类型: RelativeLayout无法转换为LinearLayout

这样只能换一种思路,即在需要被点击的Relativelayout中设置

xml:

           android:onClick="onClick_query"            android:clickable="true"
MainActivity:

public void onClick_query(View v){    Intent intent=new Intent();        intent.setClass(MenuActivity.this,QueryActivity.class);        MenuActivity.this.startActivity(intent);}
这样就简单多了


0 0
原创粉丝点击