当前位置: 首页 > 知识库问答 >
问题:

与自定义字体关联的Eclipse LogCat错误

方琦
2023-03-14

当我启动我的应用程序时,我在模拟器上收到消息“不幸[应用程序名称]已停止”。

根据我的LogCat,问题是由第19行的错误引起的。

MainA中的第19行ctivity.java是我自定义文本视图代码的一部分。

如果我完全删除MainA中的自定义文本视图代码ctivity.java和activity_main.xml中的相关TextView,我不会收到错误。因此,我已经确定这个自定义文本视图似乎是问题的根源。

我尝试了以下故障排除:

  • 确保。ttf字体文件是用小写写的

事实上,我已经讨论这个简单的问题好几天了。我已经阅读了很多关于我的问题的帖子,但似乎没有简单的解决方法。

提前为你的帮助干杯

字体文件位于资产/字体/quicksandlight.ttf

主要活动。Java语言

package [package name not displayed];

import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import com.jdubbing.scissored.R;
import android.widget.TextView;
import android.graphics.Typeface;

public class MainActivity extends Activity {

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

    TextView txt = (TextView) findViewById(R.id.customfont);  
    Typeface font = Typeface.createFromAsset(getAssets(), "fonts/quicksandlight.ttf");                                       
    txt.setTypeface(font); 


     Thread logoTimer = new Thread() {
            public void run(){
                try{
                    int logoTimer = 0;
                    while(logoTimer < 5000){
                        sleep(100);
                        logoTimer = logoTimer +100;
                    };
                    startActivity(new Intent("com.jdubbing.CLEARSCREEN"));
                } 

                catch (InterruptedException e) {
                    e.printStackTrace();
                }

                finally{
                    finish();
                }
            }
        };

        logoTimer.start();
    }
}

activity\u main。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:orientation="vertical"
android:background="@drawable/startbackground" >

<TextView
    android:id="@+id/customfont"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="37dp"
    android:textSize="15sp" 
    android:textColor="#e5e3e3"
    android:text="@string/tell" />


</RelativeLayout>

LogCat检查最后五行或最后六行,查看第19行上的错误

01-07 03:52:12.442: I/Process(2497): Sending signal. PID: 2497 SIG: 9
01-07 03:52:19.162: D/dalvikvm(2536): GC_FOR_ALLOC freed 34K, 4% free 2731K/2832K, paused 104ms, total 105ms
01-07 03:52:19.162: I/dalvikvm-heap(2536): Grow heap (frag case) to 3.312MB for 614416-byte allocation
01-07 03:52:19.232: D/dalvikvm(2536): GC_FOR_ALLOC freed <1K, 4% free 3331K/3436K, paused 59ms, total 59ms
01-07 03:52:19.412: D/AndroidRuntime(2536): Shutting down VM
01-07 03:52:19.412: W/dalvikvm(2536): threadid=1: thread exiting with uncaught exception (group=0xb4ad4b90)
01-07 03:52:19.422: E/AndroidRuntime(2536): FATAL EXCEPTION: main
01-07 03:52:19.422: E/AndroidRuntime(2536): Process: [project name not displayed], PID: 2536
01-07 03:52:19.422: E/AndroidRuntime(2536): java.lang.RuntimeException: Unable to start activity ComponentInfo{[project name not displayed]/[project name not displayed].MainActivity}: java.lang.NullPointerException
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.os.Handler.dispatchMessage(Handler.java:102)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.os.Looper.loop(Looper.java:137)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread.main(ActivityThread.java:4998)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at java.lang.reflect.Method.invokeNative(Native Method)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at java.lang.reflect.Method.invoke(Method.java:515)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at dalvik.system.NativeStart.main(Native Method)
01-07 03:52:19.422: E/AndroidRuntime(2536): Caused by: java.lang.NullPointerException
01-07 03:52:19.422: E/AndroidRuntime(2536):     at com.jdubbing.scissored.MainActivity.onCreate(MainActivity.java:19)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.Activity.performCreate(Activity.java:5243)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-07 03:52:19.422: E/AndroidRuntime(2536):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
01-07 03:52:19.422: E/AndroidRuntime(2536):     ... 11 more

共有2个答案

尹承泽
2023-03-14

您在活动中使用了错误的布局文件,这就是为什么您的TextView txt为空,更改setContentView(R.layout.splash);setContentView(R.layout.activity_main);

范玄裳
2023-03-14
setContentView(R.layout.splash);

但是你的文本视图在activity_main.xml

txt.setTypeface(font); 

将为您提供NUllPointeException

应该是

setContentView(R.layout.activity_main);

findViewById在当前嵌入布局中查找id为的视图。

 类似资料:
  • 问题内容: 如何解决Java中自定义字体的问题? 例如,我的应用使用的字体并非在所有计算机上都使用。如果客户端计算机上不存在该文件,我可以以某种方式将其包含在已编译的可执行文件中,然后从那里调用它吗? 还有哪些其他选择?我可以将所有字体字符变成图像(之前在某些图形应用中),然后为每个字符显示图像…可以吗? 问题答案: 这是我用来从.ttf文件(可以捆绑)中加载字体文件的实用程序方法:

  • 问题内容: 我正在使用Swift在Xcode(7.0版)中创建游戏,并且我想在游戏结束时以字体“ gameOver.ttf”显示标签“ Game Over”。我已将字体添加到资源文件夹中。我不知道如何在我的代码中引用它。我可以帮忙吗?我的代码: 问题答案: 这些是向您的应用程序添加自定义字体的步骤: 在您的应用程序中添加“ gameOver.ttf”字体(确保它已包含在目标中) 修改applica

  • 我正在使用Lollipop的新功能,比如coloraccent,colorPrimary,用于Lollipop制作前的设备。 styles.xml 现在我想为我的文本视图、编辑文本和按钮创建一个自定义字体。在样式中,我使用彩色口音作为白色。所以编辑文本的焦点应该是白色。查看下图以获取默认编辑文本焦点。这很好。 但每当我创建自定义字体edittext时,焦点行为就不同了。它没有显示白色。相反,它显示

  • @font-face跟其在CSS中作用表现一样,在后面简单地添加个块状属性即可,类似下面: @font-face font-family Geo font-style normal src url(fonts/geo_sans_light/GensansLight.ttf) .ingeo font-family Geo 生成为: @font-face { font-famil

  • 字体始终显示默认字体。 我的字体存储在资源/字体中。我尝试使用其他字体,并对字体进行重新编码。此外,PixlUI库并没有解决这个问题。 主要活动。Java语言 activity\u main。xml

  • 我在为我的ListView设置自己的字体时遇到了问题,我不知道如何使用自己的Adapter类以及我需要什么xml(除了我放在ListView中的那个)。我希望(在ListView中)只是水平居中使用自己的字体。那是我的适配器: 它在呼唤ista.java 代码来自StackOverFlow的另一个主题。 > 我在第行中遇到错误(未定义的方法): 字体tf=Typeface.createFromAs