/ / setTextがカスタムフォントでクラッシュする - アンドロイド、フォント

setTextがカスタムフォントでクラッシュする - アンドロイド、フォント

私はassetsフォルダ/assets/fonts/7led.ttfにカスタムフォントを設定し、テキストビューのフォントを初期化しました。

// LED font used in Dimmer display
Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/7led.ttf");
TextView tv  = (TextView) findViewById(R.id.DimmerView);
tv.setTypeface(tf);

私はテキストをデフォルト "100"に設定しています。

          <TextView
android:id="@+id/DimmerView"
android:layout_width="169dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="700dp"
android:background="@color/text_color"
android:text="100"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/background_color"
android:textSize="100dp" />

フォントは正しく表示されますが、テキストを変更しようとするとクラッシュします。

    TextView.setText("101");

私はこのトピックへの多くの答えを読んだが、まだクラッシュを解決することはできません。私が見ている多くのエラーの1つは、キャッチされない例外で終了しています。

ログキャット 09-09 14:05:47.851:W / dalvikvm(3729):threadid = 1:キャッチされていない例外でスレッドが終了する(グループ= 0x414422a0)

私はクラッシュを解決しました。

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/digital_counter_7.ttf");
final TextView tv  = (TextView) findViewById(R.id.DimmerView);      // for display the received data from the Arduino

tv.setText("101");
tv.setTypeface(tf);

この行はテキストを変更することができます

                tv.setText("102");

回答:

回答№1は0

私はあなたが少し間違ってフォルダを呼び出すようにしたと思う:

.ttfファイルを/assets/folder/7led.ttfに置いた場合は、

Typeface tf = Typeface.createFromAsset(this.getAssets(), "folder/7led.ttf");

そうではない

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/7led.ttf");

回答№2の場合は0

私のエラーは単に "ttf"の代わりに "tff"という誤植でした。自分自身を頭痛から守るためにもそのことを確認してください。