2016-06-05 7 views
0

Das gibt mir einen Fehler hier verstehe ich nicht, warum dies mir diesen Fehler die Größe meiner Symbole ist 300kb.android.view.InflateException: Binär-XML-Datei Zeile # 31: Fehler beim Aufblasen der Klasse

main_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
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" 
android:background="@drawable/background" 
tools:context="com.example.jaypeetan.mftis.login"> 

    <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="LOGIN" 
    android:id="@+id/button_login" 
    android:layout_centerVertical="true" 
    android:layout_alignParentEnd="true" 
    android:background="@color/button_material_dark" 
    android:textColor="#ffffff" 
    android:layout_alignParentStart="true" 
    android:singleLine="false" 
    android:focusableInTouchMode="false" 
    android:focusable="false" 
    android:elegantTextHeight="true" 
    android:layout_margin="2dp" 
    android:layout_marginTop="10dp" /> 

    <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SIGN UP" 
    android:id="@+id/button_signup" 
    android:layout_below="@+id/button_login" 
    android:background="@color/button_material_dark" 
    android:textColor="#ffffff" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentEnd="true" 
    android:singleLine="false" 
    android:focusableInTouchMode="false" 
    android:focusable="false" 
    android:elegantTextHeight="true" 
    android:layout_margin="2dp" 
    android:layout_marginTop="10dp" /> 

    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:src="@drawable/logo" 
    android:layout_above="@+id/button_login" /> 
    </RelativeLayout> 

main_menu.java

package com.example.jaypeetan.mftis; 

import android.app.AlertDialog; 
import android.content.Context; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.support.v4.content.ContextCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.text.InputType; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class main_menu extends AppCompatActivity { 
    Context context; 
    static String a_username; 
    static String a_password; 
    boolean arduino = true; 
    private String m_pass = ""; 

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

     ImageView abtn_logout = (ImageView) findViewById(R.id.btn_logout); 

     abtn_logout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(main_menu.this,login.class); 
       startActivity(i); 
      } 
     }); 
    } 
    public void onPreferences(View view){ 
     Intent intent = new Intent(main_menu.this,preferences.class); 
     startActivity(intent); 
    } 
    public void onExit(View view){ 
     System.exit(1); 
    } 
    //UNLOCK THE DEVICE 
    public void onLock(View view){ 
     final ImageView access_view = (ImageView) findViewById(R.id.image_access); 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Enter the Password"); 
     // Set up the input 
     final EditText input = new EditText(this); 
     // Specify the type of input expected; this, for example, sets the input as a password, and will mask the text 
     input.setInputType(InputType.TYPE_NUMBER_VARIATION_PASSWORD); 
     builder.setView(input); 
     // Set up the buttons 
      builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int pass) { 
       m_pass = input.getText().toString(); 
       if(arduino==true){ 
        if(m_pass.equals(a_password)){ 
         Toast.makeText(getApplicationContext(),"The Drawer is now Locked",Toast.LENGTH_SHORT).show(); 
         arduino = false; 
        } 
        else{ 
         Toast.makeText(getApplicationContext(),"Wrong Password Please try again",Toast.LENGTH_SHORT).show(); 
        } 
       }else{ 
        if(m_pass.equals(a_password)){ 
         Toast.makeText(getApplicationContext(),"The Drawer is now UnLocked",Toast.LENGTH_SHORT).show(); 
         arduino = true; 
        } 
        else{ 
         Toast.makeText(getApplicationContext(),"Wrong Password Please try again",Toast.LENGTH_SHORT).show(); 
        } 
       } 
      } 
     }); 
     builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.cancel(); 
      } 
     }); 
     builder.show(); 
    } 
} 

Dies ist der Fehler

06-05 20:57:38.875 22631-22631/com.example.jaypeetan.mftis E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.example.jaypeetan.mftis, PID: 22631 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jaypeetan.mftis/com.example.jaypeetan.mftis.main_menu}: android.view.InflateException: Binary XML file line #31: Error inflating class <unknown> 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:139) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:149) 
                      at android.app.ActivityThread.main(ActivityThread.java:5257) 
                      at java.lang.reflect.Method.invokeNative(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:515) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                      at dalvik.system.NativeStart.main(Native Method) 
                      Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class <unknown> 
                      at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
                      at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                      at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) 
                      at com.example.jaypeetan.mftis.main_menu.onCreate(main_menu.java:29) 
                      at android.app.Activity.performCreate(Activity.java:5411) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)  
                      at android.app.ActivityThread.access$800(ActivityThread.java:139)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:149)  
                      at android.app.ActivityThread.main(ActivityThread.java:5257)  
                      at java.lang.reflect.Method.invokeNative(Native Method)  
                      at java.lang.reflect.Method.invoke(Method.java:515)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)  
                      at dalvik.system.NativeStart.main(Native Method)  
                      Caused by: java.lang.reflect.InvocationTargetException 
                      at java.lang.reflect.Constructor.constructNative(Native Method) 
                      at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
                      at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
                      at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)  
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)  
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)  
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  
                      at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)  
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)  
                      at com.example.jaypeetan.mftis.main_menu.onCreate(main_menu.java:29)  
                      at android.app.Activity.performCreate(Activity.java:5411)  
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)  
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)  
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)  
                      at android.app.ActivityThread.access$800(ActivityThread.java:139)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:149)  
                      at android.app.ActivityThread.main(ActivityThread.java:5257)  
                      at java.lang.reflect.Method.invokeNative(Native Method)  
                      at java.lang.reflect.Method.invoke(Method.java:515)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)  
                      at dalvik.system.NativeStart.main(Native Method)  
                      Caused by: java.lang.OutOfMemoryError 
                      at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
                      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587) 
                      at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422) 
                      at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840) 
                      at android.content.res.Resources.loadDrawable(Resources.java:2192) 
                      at android.content.res.Resources.loadDrawable(Resources.java:2075) 
                      at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
                      at android.widget.ImageView.<init>(ImageView.java:129) 
                      at android.widget.ImageView.<init>(ImageView.java:119) 
                      at java.lang.reflect.Constructor.constructNative(Native Method)  
                      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  
                      at android.view.LayoutInflater.createView(LayoutInflater.java:594)  
                      at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)  
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)  
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)  
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  
                      at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)  
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)  
                      at com.example.jaypeetan.mftis.main_menu.onCreate(main_menu.java:29)  
                      at android.app.Activity.performCreate(Activity.java:5411)  
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)  
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)  
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)  
                      at android.app.ActivityThread.access$800(ActivityThread.java:139)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:149)  
                      at android.app.ActivityThread.main(ActivityThread.java:5257)  
                      at java.lang.reflect.Method.invokeNative(Native Method)  
                      at java.lang.reflect.Method.invoke(Method.java:515)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)  
                      at dalvik.system.NativeStart.main(Native Method)  

ich denke, Problem ist auf meinem Imageview mit iD: image_access Ich verstehe nicht, warum sein mir diesen Fehler Dank für die Hilfe zu geben :)

+0

Verwendung android: layout_above = "@ + id/button_login"> Android: layout_above = "@ id/button_login", android: layout_below = "@ + id/button_login "> android: layout_below =" @ id/button_login "und poste bitte deine Aktivität onCreate code –

+0

Veröffentliche auch die ersten Zeilen deines LogCats. –

+0

Ihr Logo ist Vektor? –

Antwort

2

wenn Ihr Logo-Symbol Vektor Ihre ImageView

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    app:srcCompat="@drawable/logo" 
    tools:ignore="MissingPrefix" 
    android:layout_above="@+id/button_login" /> 
+0

Ich weiß nicht, ob es ein Vektor, aber die Erweiterung ist png –

+0

, so dass keine Vektordatei. fügen Sie Ihren Fehler bitte –

+0

Ich habe bereits hinzugefügt: D –

1

Datei Ihres Symbol Bild ändern wird ist zu groß, Sie müssen es zu einer angemessenen Größe Größe ändern.ie 56x56 oder maximal 512x512

Verwenden Sie eine Bild-Software oder Online-Bild-Größenanpassung Web-App, um die Größe Ihres Symbols.

Sie können auch TinyPNG verwenden, um das Symbolbild weiter zu komprimieren.

die Design-Richtlinien Folgen von official documentation von Google

Reference Link

Verwandte Themen