我已经完成了一个标志测验应用程序,但事实证明,该应用程序无法顺利运行。我已经调试好几次了。目前,我被卡住了。最初的例外是片段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();
}
};
我会感谢一个准确的答案,帮助解决这些问题
我找不到问题,请问您的问题清楚 –