我已經完成了一個標誌測驗應用程序,但事實證明,該應用程序無法順利運行。我已經調試好幾次了。目前,我被卡住了。最初的例外是片段null必須是公共靜態的,以重新創建實例..或類似的東西。經過幾個小時的網絡衝浪解決方案後,我創建了一個新班,這個班沒有任何錯誤,但它是紅色的。爲什麼會這樣?還有,我需要使用完整或更正此代碼。如工作室是說無效的ShowDialog()不低於使用的是我的MainActivity片段如何安裝項目中的對話框片段
guessButton = ((Button) v);
String guess = guessButton.getText().toString();
String answer = getCountryName(correctAnswer);
++totalGuesses;
if (guess.equals(answer)) {
++correctAnswers;
answerTextView.setText(answer + "!");
answerTextView.setTextColor(
getResources().getColor(R.color.correct_answer));
disableButtons();
if (correctAnswers == FLAGS_IN_QUIZ) {
resetQuiz();
void showDialog(){
DialogFragment newFragment = MyNewFragment.newInstance();
newFragment.show(getFragmentManager(), "QUIZ RESULTS");
newFragment.setCancelable(false);
}
public void doPositiveClick(){
Log.i(" fragmentdialog" , "positive click");
}
}
else {
handler.postDelayed(
new Runnable() {
@Override
public void run() {
animate(true);
}
}, 2000);
}
} else {
flagImageView.startAnimation(shakeAnimation);
answerTextView.setText((R.string.incorrect_answer));
answerTextView.setTextColor(ContextCompat.getColor(getContext(),
R.color.incorrect_answer));
guessButton.setEnabled(false);
}
}
;
private void disableButtons() {
for (int row = 0; row < guessRows; row++) {
LinearLayout guessRow = guessLinearLayouts[row];
for (int i = 0; i < guessRow.getChildCount(); i++)
guessRow.getChildAt(i).setEnabled(false);
}
}
};
}
下面是新類,在出現紅保持的部分。
public class MyNewFragment extends DialogFragment {
public static MyNewFragment newInstance() {
MyNewFragment frag = new MyNewFragment();
Bundle args = new Bundle();
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(getActivity())
.setMessage("fff")
.setPositiveButton(R.string.reset_quiz,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}
);
return builder.create();
}
};
我會感謝一個準確的答案,幫助解決這些問題
我找不到問題,請問您的問題清楚 –