我正在创建一个应用程序并在昨天发布了一个问题 how to start activity by click any where on row。 想知道如下所示,但我得到了错误:
The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new OnClickListener(){})
这是我的代码:
LinearLayout menu_photos = (LinearLayout )findViewById(R.id.picture_part);
menu_photos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent picture_intent = new Intent(CurrentActivity.this,PictureActivity.class);
startActivity(picture_intent );
}
});
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main_background"
android:orientation="vertical" >
<include
android:id="@id/includeTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
layout="@layout/private_space_title" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@id/mail_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main_list_bg"
android:orientation="vertical"
android:paddingBottom="10.0dip"
android:paddingLeft="20.0dip"
android:paddingRight="20.0dip"
android:paddingTop="15.0dip" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@id/picture_part"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_selector"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingRight="10.0dip" >
<ImageView
android:id="@id/left_icon1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10.0dip"
android:src="@drawable/icon_picture" />
<TextView
android:id="@id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/function_img_management"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white" />
<ImageView
android:id="@id/right_icon1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/listview_arrow" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/list_view_divider" />
<LinearLayout
android:id="@id/video_part"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_selector"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingRight="10.0dip" >
<ImageView
android:id="@id/left_icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10.0dip"
android:src="@drawable/icon_video" />
<TextView
android:id="@id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/function_video_management"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white" />
<ImageView
android:id="@id/right_icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/listview_arrow" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/list_view_divider" />
<LinearLayout
android:id="@id/sms_call_part"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_selector"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingRight="10.0dip" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@id/left_icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10.0dip"
android:src="@drawable/icon_sms_call" />
<TextView
android:id="@id/unread_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/left_icon2"
android:layout_marginRight="5.0dip"
android:layout_marginTop="3.0dip"
android:background="@drawable/counter"
android:gravity="center"
android:textColor="@color/white"
android:visibility="visible" />
</RelativeLayout>
<TextView
android:id="@id/textView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/function_sms_management"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white" />
<ImageView
android:id="@id/right_icon3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/listview_arrow" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/list_view_divider" />
<LinearLayout
android:id="@id/private_contact_part"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_selector"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingRight="10.0dip" >
<ImageView
android:id="@id/left_icon4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10.0dip"
android:src="@drawable/icon_contact" />
<TextView
android:id="@id/textView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/function_privacy_management"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white" />
<ImageView
android:id="@id/right_icon4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/listview_arrow" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/list_view_divider" />
<LinearLayout
android:id="@id/break_in_part"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_selector"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingRight="10.0dip" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@id/left_icon5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10.0dip"
android:src="@drawable/icon_break_in" />
<TextView
android:id="@id/login_record_main_unread_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/left_icon5"
android:layout_marginRight="5.0dip"
android:layout_marginTop="3.0dip"
android:background="@drawable/counter"
android:gravity="center"
android:textColor="@color/white"
android:visibility="visible" />
</RelativeLayout>
<TextView
android:id="@id/textView5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/function_break_in_management"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/white" />
<ImageView
android:id="@id/right_icon5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/listview_arrow" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/list_view_divider" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="90.0dip"
android:layout_weight="1.0"
android:gravity="center" >
<Button
android:id="@id/member_up_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20.0dip"
android:layout_marginRight="20.0dip"
android:background="@drawable/upgrade_selector"
android:text="@string/main_upgrade_button"
android:textSize="18.0sp" />
</LinearLayout>
答案 0 :(得分:47)
下面的行是你的代码: -
menu_photos.setOnClickListener(new OnClickListener() {
将此行替换为以下代码: -
menu_photos.setOnClickListener(new View.OnClickListener() {
答案 1 :(得分:42)
LinearLayout app_layer = (LinearLayout) findViewById (R.id.main_activity_app_layer);
app_layer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(this, "hello", Toast.LENGTH_LONG).show();
}
});
设置LinearLayout属性android:clickable="true"
如果您在布局set android:clickable="false"
中有所有按钮或文本视图
答案 2 :(得分:0)
从您的xml布局文件中我认为您要查找的是列表视图,而不是线性布局的加载。 Here是一个很好的教程,可以帮助您入门,可能正是您所需要的,可以使用图像和文本进行排序。对于列表视图,只需使用setOnItemCLickListener()。
回到你想要的,我认为你需要使linearlayout具有可聚焦/可触摸性以便“接收”点击。
答案 3 :(得分:0)
@duggu的精彩收获。
除了答案之外,在LinearLayout中使用ImageView和TextView,嵌套LinearLayout是一个坏主意。取而代之的是使用TextView的drawableLeft:@src
,对于分隔线,您可以使用简单的View而不是使可绘制对象膨胀。
<View
android:background="#aeaeae"
android:layout_width="match_parent"
android:layout_height="0.5dp"/>