簡體   English   中英

為什么我的教程應用程序崩潰?

[英]Why does my tutorial app crash?

我是制作 Android 應用程序的初學者。 嘗試做一個教程並添加一個相對布局和一個網格布局和一些圖像視圖。 但是我的應用程序崩潰了。

主活動.java

package se.jakobia.connect3;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {


        public void dropIn(View view) {

    ImageView counter =(ImageView)view;

    counter.setTranslationY(-1000f);

    counter.setImageResource(R.drawable.yellow);

    counter.animate().translationYBy(1000f).setDuration(300);

}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
}

和activity_main.xml

<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"
    tools:context="se.jakobia.connect3.MainActivity">

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="360dp"
        android:layout_centerVertical="true"


        android:background="@drawable/board"
        android:columnCount="3"
        android:rowCount="3">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="0"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_row="0"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="1"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_row="0"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="2"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_row="0"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="0"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="30dp"
            android:layout_row="1"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="1"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="30dp"
            android:layout_row="1"
            android:onClick="dropIn" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="2"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="30dp"
            android:layout_row="1"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="0"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="30dp"
            android:layout_row="2"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView8"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="1"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="30dp"
            android:layout_row="2"
            android:src="@drawable/red" />

        <ImageView
            android:id="@+id/imageView9"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_column="2"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="30dp"
            android:layout_row="2"
            android:src="@drawable/red" />


    </GridLayout>
</RelativeLayout>

我收到一條錯誤消息 FATAL EXCEPTION: main. 和致命的異常主要。 我不明白錯誤消息是什么意思。

我想我沒有做那么多,所以我不明白為什么它不起作用。

您必須在 onCreate() 中綁定視圖。 由於根據 Android 生命周期 onStart() -> onCreate() 執行 .. 所以,基本上問題是你正在訪問 imageView 來設置動畫但你還沒有初始化。 所以,你的代碼應該是這樣的——

`import      android.support.v7.app.AppCompatActivity; 
 import android.os.Bundle;
 import android.view.View; 
 import android.widget.ImageView; 
 public class MainActivity extends    AppCompatActivity 
 { 
 private ImageView counter;
@Override 
protected void onCreate(Bundle   savedInstanceState) { 
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = (ImageView) findViewById  (R.id.imageView);
counter.setTranslationY(-1000f);     counter.setImageResource(R.drawable.yellow);     counter.animate().translationYBy(1000f).setDuration(300); 
  }
}`

請添加此gradle文件

compile 'com.android.support:multidex:1.0.1'

並制作下面的課程

public class MultiDexApplication extends Application {
    public MultiDexApplication() {
    }

    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

並在清單中定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM