首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在下面的代码中使用java.lang.NullPointerException?

在下面的代码中使用java.lang.NullPointerException?
EN

Stack Overflow用户
提问于 2013-03-12 17:32:35
回答 3查看 130关注 0票数 0

我有两个java类,其中一个是activity类。当我在Font类中调用function GetRobotoRegularFont时,我想调用第二个类的函数,它不是activity class.but,它显示了一个错误,“由:

代码语言:javascript
运行
复制
java.lang.NullPointerException
at com.ojaswi.font.Font.GetRobotoRegularFont(Font.java:16)
at com.ojaswi.bookingscapemob.LoginActivity.onCreate(LoginActivity.java:29)

“两个java文件的..the代码is..please谁能帮我回答..

第一个Java文件的代码

代码语言:javascript
运行
复制
public class LoginActivity extends Activity {

EditText email;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    email = (EditText)findViewById(R.id.edtTextUname);
    email.setTypeface(new Font().GetRobotoRegularFont());


}

}

第二个Java文件的代码

代码语言:javascript
运行
复制
public class Font {

Typeface tf;
Context myContext;
public final Typeface GetRobotoRegularFont() {
    String fontPath = "fonts/Roboto-Regular.ttf";
    tf = Typeface.createFromAsset(myContext.getAssets(), fontPath);
    return tf;
}

}

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-12 18:27:07

在LoginActivity中,这样写

代码语言:javascript
运行
复制
email.setTypeface(new Font().GetRobotoRegularFont(this));

然后在Font类中

代码语言:javascript
运行
复制
public class Font {

Typeface tf;
Context myContext;
public final Typeface GetRobotoRegularFont(Context context) {
    myContext = context;
    String fontPath = "fonts/Roboto-Regular.ttf";
    tf = Typeface.createFromAsset(myContext.getAssets(), fontPath);
    return tf;
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-12 17:36:31

您永远不会在Font类中设置上下文。

选项:

将context添加到constructor

  • Add中context字段的设置器方法如果您在其他地方不使用类,则可以像Raghunandan

那样内联代码

票数 3
EN

Stack Overflow用户

发布于 2013-03-12 17:36:34

假设该文件位于assets文件夹中,您可以执行以下操作。

代码语言:javascript
运行
复制
 Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/verdana.ttf");
 email = (EditText)findViewById(R.id.edtTextUname);
 email.setTypeface(tf,Typeface.BOLD);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15357572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档