2016-10-16 10 views
0

私はカスタムフォントを使用しようとしていますが、LoginActivityを開始するとアプリケーションがクラッシュします。検索しましたが解決策が見つかりませんでした。android.view.InflateException:バイナリXMLファイル行#69:edittextのカスタムフォントを使用しているときにエラーが発生するクラス

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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:orientation="vertical" 
> 


<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="260dp"> 



    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="260dp" 
     android:background="@drawable/banner"/> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:layout_gravity="center|bottom" 

     android:background="#80000000"> 



     <TextView 
      android:id="@+id/signin" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:text="Sign in" 
      android:textColor="#087272" 
      android:textSize="16dp" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:padding="16dp"/> 



     <TextView 
      android:id="@+id/signup" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:text="Sign up" 
      android:textColor="#fff" 
      android:textSize="16dp" 
      android:padding="16dp"/> 


    </LinearLayout> 






    </FrameLayout> 


<com.squaresoft.customfonts.MyEditText 
    android:id="@+id/emailT" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="E-mail" 
    android:inputType="text" 
    android:textColor="#000" 
    android:background="#f0f0f4" 
    android:padding="12dp" 
    android:layout_marginTop="20dp" 
    android:layout_marginBottom="10dp" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" 
    android:drawableLeft="@drawable/ic_shapes_2" 
    android:drawablePadding="16dp" 

    /> 


    <com.squaresoft.customfonts.MyEditText 
    android:id="@+id/passwordT" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Password" 
    android:inputType="textPassword" 
    android:background="#f0f0f4" 
    android:textColor="#000" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="20dp" 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" 
    android:padding="12dp" 
    android:drawablePadding="16dp" 
    android:drawableLeft="@drawable/ic_tool_6" 
    /> 


    <com.squaresoft.customfonts.MyRegulerText 
    android:id="@+id/buttonsignin" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/rounded1" 
    android:layout_marginBottom="5dp" 
    android:layout_marginLeft="70dp" 
    android:layout_marginRight="70dp" 
    android:textAlignment="center" 
    android:padding="14dp" 
    android:text="Sign In" 
    android:textSize="16dp" 
    android:textColor="#fff" 
    /> 


    <com.squaresoft.customfonts.MyRegulerText 
    android:id="@+id/fb" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/rounded" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="20dp" 
    android:layout_marginLeft="70dp" 
    android:layout_marginRight="70dp" 
    android:textAlignment="center" 
    android:padding="14dp" 
    android:text="Facebook Connect" 
    android:textColor="#fff" 
    android:textSize="16dp" 
    /> 


    <com.squaresoft.customfonts.MyTextView 
    android:id="@+id/account" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Don't have an account?" 
    android:textSize="16dp" 
    android:layout_gravity="center" /> 







</LinearLayout> 

最終... MyEditText

package com.squaresoft.customfonts; 

import android.content.Context; 
import android.graphics.Typeface; 
import android.util.AttributeSet; 
import android.widget.EditText; 


public class MyEditText extends EditText { 

public MyEditText(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    init(); 
} 

public MyEditText(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 

public MyEditText(Context context) { 
    super(context); 
    init(); 
} 

private void init() { 
    if (!isInEditMode()) { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Lato-Light.ttf"); 
     setTypeface(tf); 
    } 
    } 

    } 
のJavaクラスログインのためのXML

package com.squaresoft.spotr; 

import android.app.Activity; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.os.Bundle; 
import android.support.v7.app.AlertDialog; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 



public class LoginActivity extends Activity 
{ 
EditText email, pass; 
Button log; 
TextView signin, fb, account; 
TextView signup; 
SQLiteDBHelper dbhelper; 


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


    //Referencing UserEmail, Password EditText and TextView for SignUp 

    fb = (TextView)findViewById(R.id.fb); 
    account = (TextView)findViewById(R.id.account); 
    email = (EditText) findViewById(R.id.emailT); 
    pass = (EditText) findViewById(R.id.passwordT); 
    log = (Button) findViewById(R.id.buttonsignin); 
    signup = (TextView)findViewById(R.id.signup); 
    signin = (TextView)findViewById(R.id.signin); 

    //Opening SQLite Pipeline 
    dbhelper = new SQLiteDBHelper(this); 
    dbhelper = dbhelper.open(); 

    log.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String email1 = email.getText().toString(); 
      String pass1 = pass.getText().toString(); 
      // fetch the Password form database for respective user name 
      String storedPassword = dbhelper.getSinlgeEntry(email1); 

      // check if the Stored password matches with Password 

      if (pass1.equals(storedPassword)) { 
       Toast.makeText(LoginActivity.this, "Congrats: Login Successfull", Toast.LENGTH_LONG).show(); 
       Intent intent = new Intent(LoginActivity.this,Home.class); 
       startActivity(intent); 

      } 
      else { 
       Toast.makeText(LoginActivity.this, "User Name or Password does not match", Toast.LENGTH_LONG).show(); 
       email.setText(""); 
       pass.setText(""); 
      } 
     } 


    }); 



    // Intent For Opening RegisterAccountActivity 
    signup.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Intent intent = new Intent(LoginActivity.this, SignUp.class); 
      startActivity(intent); 
     } 
    }); 



} 
    @Override 
    protected void onDestroy() { 
    super.onDestroy(); 
    // Close The Database 
    dbhelper.close(); 
} 
} 

:私のLoginActivityについては

E/AndroidRuntime: FATAL EXCEPTION: main 
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.squaresoft.spotr/com.squaresoft.spotr.LoginActivity}: android.view.InflateException: Binary XML file line #69: Error inflating class com.squaresoft.customfonts.MyEditText 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) 
         at android.app.ActivityThread.access$700(ActivityThread.java:140) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237) 
         at android.os.Handler.dispatchMessage(Handler.java:99) 
         at android.os.Looper.loop(Looper.java:137) 
         at android.app.ActivityThread.main(ActivityThread.java:4946) 
         at java.lang.reflect.Method.invokeNative(Native Method) 
         at java.lang.reflect.Method.invoke(Method.java:511) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803) 
         at dalvik.system.NativeStart.main(Native Method) 
        Caused by: android.view.InflateException: Binary XML file line #69: Error inflating class com.squaresoft.customfonts.MyEditText 
         at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
         at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
         at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
         at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
         at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
         at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308) 
         at android.app.Activity.setContentView(Activity.java:1924) 
         at com.squaresoft.spotr.LoginActivity.onCreate(LoginActivity.java:34) 
         at android.app.Activity.performCreate(Activity.java:5206) 
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)  
         at android.app.ActivityThread.access$700(ActivityThread.java:140)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)  
         at android.os.Handler.dispatchMessage(Handler.java:99)  
         at android.os.Looper.loop(Looper.java:137)  
         at android.app.ActivityThread.main(ActivityThread.java:4946)  
         at java.lang.reflect.Method.invokeNative(Native Method)  
         at java.lang.reflect.Method.invoke(Method.java:511)  
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)  
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)  
         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:417) 
         at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)  
         at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:352)  
         at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308)  
         at android.app.Activity.setContentView(Activity.java:1924)  
         at com.squaresoft.spotr.LoginActivity.onCreate(LoginActivity.java:34)  
         at android.app.Activity.performCreate(Activity.java:5206)  
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)  
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)  
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)  
         at android.app.ActivityThread.access$700(ActivityThread.java:140)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)  
         at android.os.Handler.dispatchMessage(Handler.java:99)  
         at android.os.Looper.loop(Looper.java:137)  
         at android.app.ActivityThread.main(ActivityThread.java:4946)  
         at java.lang.reflect.Method.invokeNative(Native Method)  
         at java.lang.reflect.Method.invoke(Method.java:511)  
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)  
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)  
         at dalvik.system.NativeStart.main(Native Method)  
        Caused by: java.lang.RuntimeException: native typeface cannot be made 
         at android.graphics.Typeface.<init>(Typeface.java:265) 
         at android.graphics.Typeface.createFromAsset(Typeface.java:239) 
         at com.squaresoft.customfonts.MyEditText.init(MyEditText.java:30) 
         at com.squaresoft.customfonts.MyEditText.<init>(MyEditText.java:20) 
         at java.lang.reflect.Constructor.constructNative(Native Method)  
         at java.lang.reflect.Constructor.newInstance(Constructor.java:417)  
         at android.view.LayoutInflater.createView(LayoutInflater.java:587)  
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)  
         at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
         at android.view.LayoutInflater.inflate(LayoutInflater.java:352)  
         at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308)  
         at android.app.Activity.setContentView(Activity.java:1924)  
         at com.squaresoft.spotr.LoginActivity.onCreate(LoginActivity.java:34)  
         at android.app.Activity.performCreate(Activity.java:5206)  
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)  
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)  
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)  
         at android.app.ActivityThread.access$700(ActivityThread.java:140)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)  
         at android.os.Handler.dispatchMessage(Handler.java:99)  
         at android.os.Looper.loop(Looper.java:137)  
         at android.app.ActivityThread.main(ActivityThread.java:4946)  
         at java.lang.reflect.Method.invokeNative(Native Method)  
         at java.lang.reflect.Method.invoke(Method.java:511)  
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)  
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)  
         at dalvik.system.NativeStart.main(Native Method)  

:これはエラーMSGであります

ご協力いただきありがとうございます。

答えて

0

LoginActivityでエラーが発生したようです:行34、行34はコードコピーのスペースです。

+0

"私は手に入りませんが、34行目はコードコピーのスペースです。" –

0

あなたMyEditTextクラスを確認します。

com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)によって引き起こさ dalvik.system.NativeStart.main(ネイティブメソッド)で: java.lang.RuntimeException:ネイティブ書体はあなたがここにネイティブ書体を使用することはできません

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Lato-Light.ttf"); 

android.graphics.Typeface(Typeface.java:265) で行うことはできません。別の方法を使用します。

+0

私たちはネイティブタイプフェイス –

+0

[解決策の別のトピック...]を使用しています(http://stackoverflow.com/questions/7531856/issue-when-using-a-custom-font-native-typeface- – PLe

+0

フォントの名前を小文字に変更しようとすると、_:fonts/Lato-Light.ttf-> fonts/lato_light.ttf – PLe

関連する問題