2013-03-24 16 views
21

Sto creando un'applicazione e ho postato una domanda ieri how to start activity by click any where on row. venuta un'idea per fare come qui di seguito, ma sto ottenendo questo errore :come impostare il metodo onClick con linearLayout?

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

Ecco il mio codice :

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> 

risposta

37

sotto la linea è ur codice: -

menu_photos.setOnClickListener(new OnClickListener() { 

sostituire questa riga al di sotto del codice: -

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

thnx è lavoro per me –

+0

You rock Duggu !! : D –

0

Dal tuo file di layout XML penso che quello che stai cercando è un listview, non un sacco di linearlayouts. Here è un buon tutorial per iniziare, potrebbe essere esattamente ciò di cui hai bisogno, file con immagini e testo. Per la listview basta usare setOnItemCLickListener().

Torna a quello che vuoi, penso che sia necessario rendere la linearlayout focalizzabile/tangibile per "ricevere" i clic.

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

set LinearLayout attributo android:clickable="true"
se si dispone di un tasto qualsiasi o TextView nel layout set android:clickable="false" per tutti loro

+2

La tua risposta è chiara e funzionante per lo scopo. – Jaky71

+1

perfetto! Questo dovrebbe essere accettato ... – Kaushal28

Problemi correlati