34

私はアプリケーションを作成していて、昨日 、行の任意の場所をクリックしてアクティビティを開始する方法について質問を投稿しました。以下のようにするアイデアがありますが、このエラーが発生します:

タイプViewのメソッドsetOnClickListener(View.OnClickListener)は、引数には適用できません(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>

4

4 に答える 4

54

以下の行はurコードです:-

menu_photos.setOnClickListener(new OnClickListener() { 

この行を以下のコードに置き換えます:-

menu_photos.setOnClickListener(new View.OnClickListener() { 
于 2013-03-24T08:32:21.497 に答える
48
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();
    }
});

それらすべてのandroid:clickable="true"
レイアウトにボタンまたはテキストビューがある場合は、LinearLayout属性を設定しますset android:clickable="false"

于 2014-09-03T09:21:48.163 に答える
0

あなたのxmlレイアウトファイルから、私はあなたが探しているのはリストビューであり、linearlayoutsのロードではないと思います。これはあなたが始めるための素晴らしいチュートリアルです、まさにあなたが必要とするものかもしれません、画像とテキストで行。リストビューには、 setOnItemCLickListener()を使用します。

必要なものに戻ると、クリックを「受信」するには、linearlayoutをフォーカス可能/タッチ可能にする必要があると思います。

于 2013-03-24T08:44:04.253 に答える
0

@dugguによる素晴らしいキャッチ。答えは別として、LinearLayout内でImageViewとTextViewを使用する場合、LinearLayoutをネストすることはお勧めできません。代わりdrawableLeft:@srcにTextViewを使用し、仕切りにもドローアブルを膨らませる代わりに単純なビューを使用できます。

<View
android:background="#aeaeae"
android:layout_width="match_parent"
android:layout_height="0.5dp"/>
于 2018-06-26T09:31:39.823 に答える