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

私より前にこのアプリに取り組んでいたコーダーは、履歴ボタンに「Button04」ではなく「btnHistory」という ID を付けました。id "Button04" がそのアクティビティに存在しないため、当然、これは null ポインター エラーで解決されます。

于 2013-02-27T13:53:15.397 に答える