-1

我越来越喜欢在logcat的以下内容的错误,当我在ImageButton的使用setonclicklistener为什么“不要为AdapterView调用setOnClickListener”错误获取图像按钮在android中?

致命异常:主要

了java.lang.RuntimeException:无法启动活动ComponentInfo {com.emsys .emapp/com.emsys.emapp.StockActivity}:java.lang.RuntimeException:不要为AdapterView调用setOnClickListener。你可能想setOnItemClickListener代替

这里是我的代码

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

此代码是写在您的活动或适配器? – Manikanta

+0

在我的活动中,里面oncreate方法 – irfan

+0

它是AppCompatActivity – irfan

回答

0

因此,这里是你的答案:

更改内容的布局如下:

<?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> 

这是你的活动:

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

用stockActivity替换YourActivity或任何它。

+0

我试过这..得到同样的错误 – irfan

+0

你在这做了什么改变? – irfan

相关问题