2013-03-24 10 views
21

Ich erstelle eine Anwendung und schrieb gestern eine Frage how to start activity by click any where on row. Sie haben eine Idee, wie unten zu tun, aber ich bin immer diese Fehler:Wie setze ich onClick-Methode mit linearLayout?

The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new OnClickListener(){}) 

Hier ist mein Code:

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> 

Antwort

37

unterhalb der Linie ist ur-Code: -

menu_photos.setOnClickListener(new OnClickListener() { 

diese Zeile Code unten ersetzen: -

menu_photos.setOnClickListener(new View.OnClickListener() { 
+2

thnx ist für mich Arbeit –

+0

Sie Duggu Rock !! : D –

0

Von Ihrer xml-Layout-Datei Ich denke, was Sie ist suchen eine Listenansicht, nicht viele lineare Layouts. Here ist nettes Tutorial, um loszulegen, könnte genau sein, was Sie brauchen, Zeile mit Bild und Text. Für die Listenansicht verwenden Sie einfach setOnItemCLickListener().

Zurück zu dem, was Sie wollen, ich denke, Sie müssen das lineare Layout fokussierbar/anfassbar machen, um "Klicks" zu erhalten.

28
 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(); 
      } 
     }); 

Satz Linearlayout Attribut android:clickable="true"
, wenn Sie eine beliebige Taste oder Textview in set android:clickable="false" Layout für alle von ihnen

+2

Ihre Antwort ist klar und funktioniert für den Zweck. – Jaky71

+1

perfekt! Dies sollte akzeptiert werden ... – Kaushal28

Verwandte Themen