2015-01-07 5 views
-1

페르시아어 앱을 쓰고 있는데 목록보기의 항목을 영어에서 페르시아어로 변경해야하지만 형식 오류가 발생합니다. 문제의 원인을 모르겠습니다. 강사. (내가 안드로이드 스튜디오를 사용하고 있습니다)
이 클래스로그 고양이의 서체 오류

public class SplashScreenActivity extends Activity { 
public String fonts = "BZar.ttf"; 
@Override 
    public void onCreate (Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splashscreen); 

    Typeface face = Typeface.createFromAsset(getAssets(), "font/" +fonts+""); 
    TextView app_full_name=(TextView)findViewById(R.id.app_full_name); 
    app_full_name.setTypeface(face); 
    **String str_full_name = (String) app_full_name.getText(); 
    app_full_name.setText(PersianReshape.reshape(str_full_name));** 

     final int SplashScreenActivity_DISPLAY_LENGTH = 1000; 


     Handler h = new Handler(); 
     h.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
      } 
     }, SplashScreenActivity_DISPLAY_LENGTH); 
    Intent intent = new Intent(this , MainListActivity.class); 


    startActivity(intent);} 
} 

activity_splashscreen.xml

<ImageView android:layout_width="wrap_content" 
android:id="@+id/app_logo" 
android:src="@drawable/app_logo" 
android:layout_height="wrap_content" 
android:scaleType="centerInside" 
android:contentDescription="@string/app_name"/> 

<TextView 
    android:id="@+id/app_full_name" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:text="@string/app_full_name" 
    android:textColorHint="#16a085" 
    android:layout_marginTop="20dp" 
    android:scaleType="centerInside"/> 

<TextView 
    android:id="@+id/site_address" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:text="@string/site_address" 
    android:textColorHint="#16a085" 
    android:layout_marginTop="20dp" 
    android:scaleType="centerInside"/> 
</LinearLayout> 

내가 고해상도에서 글꼴 폴더를 넣어.
오류가에 의해
을 발생 : java.lang.RuntimeException가 : 당신이, 당신이 잘못된 디렉토리에있는 글꼴 폴더에 넣어 가지고

 'at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
     at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:130) 
     at android.app.ActivityThread.main(ActivityThread.java:3687) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:507) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
     at com.example.sali.package.MainListActivity.onCreate(MainListActivity.java:30) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 

+0

무엇이 오류입니까? 또한 오류를 게시하십시오. – GrIsHu

+0

@GrIsHu 오류 – sali

답변

1

: 기본 서체
로그 고양이를 할 수 없습니다 너의 질문에 언급 했어. 프로젝트 디렉터리의 루트에 assets이라는 새 폴더를 만들고 여기에 글꼴 폴더를 배치하십시오.

+0

과 함께 질문을 편집합니다. 어디서 Android Studio에 assets 폴더를 만들어야합니까? – sali

+0

프로젝트의 루트에서 Java 및 res 폴더가있는 src 폴더 아래에 있습니다. – Aashir

+0

고마워,하지만 지금은 null 포인터 예외 error.does 코드 의이 부분에 관련된, 나는 페르시아어 코드를 포함하는 페르시아어 버전의 클래스가 있습니다. '문자열 str_full_name = (문자열) app_full_name.getText(); app_full_name.setText (PersianReshape.reshape (str_full_name)); ' – sali