私はPreferenceクラスエクステントPreferenceActivityを持っています。 私は私が私の変数とセットの設定PreferenceActivityで正しく静的変数を初期化する方法
を取得するためのメソッドを作成するのonCreate@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
quality = "QUALITY_HIGH";//initialize
}
に追加し、この方法にPreference.classに別のクラスで
public void getQuality() {
if (keyquality.equals("480p")) {
quality = "QUALITY_LOW";
//
}
if (keyquality.equals("720p")) {
//
quality = "QUALITY_720P";
}
if (keyquality.equals("1080p")) {
//
quality = "QUALITY_HIGH";
}
}
を追加Preference.classでpublic static String quality;
を作成
private void getqualityvideo() {
/*if (Prefernce.quality == null) {
preferencecamrecoder = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
} else {*/
if (Prefernce.quality.equals("QUALITY_LOW")) {
preferencecamrecoder = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW);
}
if (Prefernce.quality.equals("QUALITY_720P")) {
preferencecamrecoder = CamcorderProfile.get(CamcorderProfile.QUALITY_720P);
}
if (Prefernce.quality.equals("QUALITY_HIGH")) {
preferencecamrecoder = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
}
// }
}
問題: 開始アプリケーション
方法で別のクラスにおいてprivate void startServes() {
btnStart = (ImageView) findViewById(R.id.StartService);
btnStart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
v.startAnimation(mAnimationImage);
Intent intent = new Intent(MainActivity.this, RecorderService.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(intent);
changeCamera
.setEnabled(false);
btnStart.setEnabled(false);
setings.setEnabled(false);
moveTaskToBack(false);
}
});
}
getqualityvideo()は、この最初の行 でエラーにNullPointerException 誤差(Prefernce.quality.equals( "QUALITY_LOW"))であれば 品質変数が空である理由は?
アプリケーションを開いたときにクラッシュが発生しています。 –
@Sujith Niraikulathan サービスを開始するときにクラッシュするが、サービスで変数を初期化するとアプリケーションが正常に動作する – upward
フルログを投稿することはできますか? –