Android Studio:初始化ImageButton时崩溃

时间:2016-01-04 12:26:25

标签: android image button crash imagebutton

我正在尝试通过单击图像按钮打开一个新活动。我放置了图像按钮并试图为它制作一个onclick方法。该应用程序已经在我尝试找到我的按钮的地方崩溃了。它确实打印了第一个日志,但那就是它。它甚至没有达到onClick方法。我对android很新,所以我很少有使用它的经验。

public class Bestellingen extends AppCompatActivity implements AdapterView.OnItemClickListener {

    private ArrayList<String> elementen;
    private ListView lV;
    private MenuAdapter mA;


    ImageView image;
    Spinner spinner1;
    ImageButton imageButtonWinkelmand;

    public Bestellingen() {
        Log.d("tag","test");
        imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);  // here
        Log.d("testje","erna");
}

我的onClick方法

   imageButtonWinkelmand.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("in de onclick","test");
                startActivity(new Intent(Bestellingen.this, BestellingenInfo.class));
            }
        });

我确实在activity_main.xml

中创建了它
<ImageButton

    android:layout_width="80dp"
    android:layout_height="70dp"
    android:scaleType="fitXY"
    android:id="@+id/imageWinkelmand"
    android:src="@drawable/winkelmand"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="-20dp"
    android:background="#00000000"
    android:contentDescription="winkelmandje"/>

聊天对话结束

3 个答案:

答案 0 :(得分:1)

覆盖 onCreate()并在 onCreate()中查找视图。

ImageButton imageButtonWinkelmand;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // Find your views in onCreate();
            imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand); 

    }

像这样使用。

答案 1 :(得分:1)

首先删除Bestellingen方法。

然后在 oncreate()部分

中调用ImageButton

imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);

<强>最后

 @Override
    protected void onCreate(Bundle savedInstanceState)
    {

        setContentView(R.layout.Your_layout_name);
        imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);

答案 2 :(得分:1)

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways|snap" />
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
    android:id="@+id/rv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    android:clipChildren="false"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />