-1

Ich erhalte eine Fehlermeldung wie folgt in logcat wenn ich setonclicklistener auf Image verwendenWarum "setOnClickListener für eine AdapterView nicht aufrufen" Fehler beim Klicken auf die Schaltfläche "Bild" in Android?

FATAL AUSNAHME: Haupt

java.lang.RuntimeException: Kann Aktivität ComponentInfo {com.emsys starten .emapp/com.emsys.emapp.StockActivity}: java.lang.RuntimeException: Rufen Sie setOnClickListener nicht für eine AdapterView auf. Sie wollen wahrscheinlich setOnItemClickListener statt

hier ist mein Code

ib2= (ImageButton) findViewById(R.id.imageButton2); 
     ib2.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View view) { 
             Intent intent1=new Intent(view.getRootView().getContext(),StockActivity.class); 
             startActivity(intent1); 
            } 
           } 
     ); 
+0

Dieser Code ist in Ihrer Aktivität oder Adapter geschrieben? – Manikanta

+0

in meiner Aktivität, innerhalb oncreate Methode – irfan

+0

ist es AppCompatActivity – irfan

Antwort

0

So, hier ist die Antwort:

Ändern Sie Ihre Inhalte Layout wie folgt:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 


    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton1" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="10dp" 
     android:layout_marginLeft="10dp" 
     /> 

    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton2" 
     android:layout_alignTop="@+id/imageButton1" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="10dp" 
     android:layout_marginEnd="10dp" /> 

    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton3" 
     android:layout_below="@+id/imageButton1" 
     android:layout_alignLeft="@+id/imageButton1" 
     android:layout_alignStart="@+id/imageButton1" 
     android:layout_marginTop="75dp" /> 

    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton4" 

     android:layout_alignTop="@+id/imageButton3" 
     android:layout_alignLeft="@+id/imageButton2" 
     android:layout_alignStart="@+id/imageButton2" /> 



    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton5" 
     android:layout_marginTop="79dp" 
     android:layout_below="@+id/imageButton3" 
     android:layout_alignLeft="@+id/imageButton3" 
     android:layout_alignStart="@+id/imageButton3" /> 

    <ImageButton 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:id="@+id/imageButton6" 
     android:layout_alignTop="@+id/imageButton5" 
     android:layout_alignLeft="@+id/imageButton4" 
     android:layout_alignStart="@+id/imageButton4" /> 


</RelativeLayout> 

Diese Ihre Aktivität ist :

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.ImageButton; 



/** 
* Created by Mani on 02/08/16. 
*/ 
public class MenuActivity extends AppCompatActivity { 

    ImageButton ib2; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.asdf); 
     ib2= (ImageButton) findViewById(R.id.imageButton2); 
     ib2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent1=new Intent(MenuActivity.this,YourActivity.class); 
       startActivity(intent1); 
      } 
     }); 
    } 
} 

Ersetzen Sie YourActivity durch stockActivity oder was auch immer es ist.

+0

Ich habe versucht .. bekommen der gleiche Fehler – irfan

+0

Was ändert sich, was Sie dabei gemacht haben? – irfan

Verwandte Themen