0

我在 TabGroupActivity 中加载的活动有点问题

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.user_profile);

    f = new Functions();
   String  j = f.getUserInfo();

  arialFont = Typeface.createFromAsset(this.getAssets(),"Arial.ttf");  


  username = (TextView)findViewById(R.id.txtProfileName);
  firstname = (TextView)findViewById(R.id.txtName);
  Address1 = (TextView)findViewById(R.id.txtAdd1);

  Cit = (TextView)findViewById(R.id.txtCity);
  PostCode = (TextView)findViewById(R.id.txtPost);
  Coun = (TextView)findViewById(R.id.txtCountry);
  Phon = (TextView)findViewById(R.id.txtPhone);

  dob = (TextView)findViewById(R.id.txtDOB);
  gender = (TextView)findViewById(R.id.txtGender);

  yourDetails = (Button)findViewById(R.id.Button01);
  payment = (Button)findViewById(R.id.Button02);
  billing = (Button)findViewById(R.id.Button03);
  history = (Button)findViewById(R.id.Button04);

  yourDetails.setTypeface(arialFont); <-- Null Pointer exception starts here
  payment.setTypeface(arialFont);
  billing.setTypeface(arialFont);
  history.setTypeface(arialFont);

  try {
    parseData(j);

} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

我从代码中收到的错误是:

02-27 13:22:47.278: E/AndroidRuntime(929): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Ticketline.Ticketline/com.Ticketline.Ticketline.UserProfile}: java.lang.NullPointerException
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:1796)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
02-27 13:22:47.278: E/AndroidRuntime(929):  at com.Ticketline.Ticketline.TabGroupActivity.startChildActivity(TabGroupActivity.java:61)
02-27 13:22:47.278: E/AndroidRuntime(929):  at com.Ticketline.Ticketline.Account.onCreate(Account.java:33)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.Activity.performCreate(Activity.java:4465)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
02-27 13:22:47.278: E/AndroidRuntime(929):  ... 18 more
02-27 13:22:47.278: E/AndroidRuntime(929): Caused by: java.lang.NullPointerException
02-27 13:22:47.278: E/AndroidRuntime(929):  at com.Ticketline.Ticketline.UserProfile.onCreate(UserProfile.java:83)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.Activity.performCreate(Activity.java:4465)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
02-27 13:22:47.278: E/AndroidRuntime(929):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
02-27 13:22:47.278: E/AndroidRuntime(929):  ... 26 more

我知道问题在于将按钮字体设置为 Arial,问题是我不明白为什么这是一个问题。如果我将 setTypeface 行注释掉,它可以正常工作,并将转移到其他在 TabGroupActivity 中设置了按钮字体的活动,这让我更加困惑。

任何可以向我解释这一点的人的最高分

4

1 回答 1

0

解决了这个问题,在我之前开发此应用程序的编码人员将历史按钮的 ID 设为“btnHistory”而不是“Button04”。这自然会在空指针错误中解决,因为该活动中不存在 id“Button04”。

于 2013-02-27T13:53:15.397 回答