조각이 포함 된 활동이 있습니다. 프래그먼트를 새로 고치는 간단한 방법이 있습니까? 나는 비슷한 것을 생각했다 getFragmentManager().beginTransaction().refresh().commit();
... 하지만 새로 고침 같은 게 없다. 어떤 제안? 내 조각에는 임의의 숫자가 표시된 축배가 있습니다. 토스트는 각각 새로운 임의의 숫자를 보여줍니다 벤 피어슨 대신) onCreateView (모든 코드를 넣는 다른 방법을, 말했듯이조각을 새로 고치는 방법
public static class PlaceholderFragment extends Fragment {
TextView tv_question;
Button btn_answer_1;
Button btn_answer_2;
Button btn_answer_3;
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_activity_quiz, container, false);
Toast.makeText(getActivity(), String.valueOf(Math.random()), Toast.LENGTH_LONG).show();
tv_question = (TextView)rootView.findViewById(R.id.tv_question);
SupportFunctions.setViewBackgroundWithDrawable(tv_question, getResources().getDrawable(R.drawable.quiz_question_background));
btn_answer_1 = (Button)rootView.findViewById(R.id.btn_answer_1);
btn_answer_2 = (Button)rootView.findViewById(R.id.btn_answer_2);
btn_answer_3 = (Button)rootView.findViewById(R.id.btn_answer_3);
SupportFunctions.setViewBackgroundWithDrawable(btn_answer_1, getResources().getDrawable(R.drawable.quiz_answer_background));
SupportFunctions.setViewBackgroundWithDrawable(btn_answer_2, getResources().getDrawable(R.drawable.quiz_answer_background));
SupportFunctions.setViewBackgroundWithDrawable(btn_answer_3, getResources().getDrawable(R.drawable.quiz_answer_background));
btn_answer_1.setOnClickListener(btn_answer_listener);
btn_answer_2.setOnClickListener(btn_answer_listener);
btn_answer_3.setOnClickListener(btn_answer_listener);
// LOAD QUESTION FROM DB
Globals.setCORRECT_ANSWER(1);
// SHUFFLE ANSWERS
return rootView;
}
public OnClickListener btn_answer_listener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
if (id == R.id.btn_answer_1 && Globals.getCORRECT_ANSWER() == 1) {
// correct
answerCorrect();
}
else if (id == R.id.btn_answer_2 && Globals.getCORRECT_ANSWER() == 2) {
// correct
answerCorrect();
}
else if (id == R.id.btn_answer_3 && Globals.getCORRECT_ANSWER() == 3) {
// correct
answerCorrect();
}
else {
answerWrong();
}
}
};
private void answerCorrect() {
Globals.incrementAnswersTotal(); // got to become sharedPreference
Globals.incrementAnswersRound();
Globals.incrementCorrectAnswersTotal(); // sharedPreference
Globals.incrementCorrectAnswersRound();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setIcon(getResources().getDrawable(R.drawable.quiz_ic_dialog_correct));
builder.setTitle(getResources().getString(R.string.ad_correct_answer_heading));
builder.setMessage(getResources().getString(R.string.ad_correct_answer_text));
builder.setPositiveButton(R.string.ad_keep_on, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
getFragmentManager().beginTransaction().replace(R.id.container, getFragmentManager().findFragmentById(R.id.container)).commit();
}
});
builder.setNegativeButton(R.string.ad_to_menu, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
startActivity(new Intent(getActivity(), ActivityAppLaunch.class));
}
});
builder.setCancelable(false);
AlertDialog alert = builder.create();
alert.show();
}
private void answerWrong() {
Globals.incrementAnswersTotal(); // got to become sharedPreference
Globals.incrementAnswersRound();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setIcon(getResources().getDrawable(R.drawable.quiz_ic_dialog_wrong));
builder.setTitle(getResources().getString(R.string.ad_wrong_answer_heading));
builder.setMessage(getResources().getString(R.string.ad_wrong_answer_text) + "mein Text hier");
builder.setPositiveButton(R.string.ad_keep_on, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setNegativeButton(R.string.ad_to_menu, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
startActivity(new Intent(getActivity(), ActivityAppLaunch.class));
}
});
builder.setCancelable(false);
AlertDialog alert = builder.create();
alert.show();
}
}
'새로 고침'이란 무엇을 의미하며 사용 사례는 무엇입니까? 코드를 포함하십시오. –
다시로드하십시오. 내 조각은 임의의 숫자를 제공하고 그것을 새로 고쳐야하므로 새로운 난수가 표시됩니다. 위의 코드를 참조하십시오. 내 'positiveButton'에서 필요합니다 – user3432220
임의의 숫자와 positiveButton이 표시되지 않습니다. 올바른 코드는 어디에 있습니까? 왜 그냥 새로운 난수를 생성하지 그래? 새로운 Random(). nextInt(); – ElDuderino