Fragment41
すべての rb がチェックされた直後に、テキストを自動的に表示しようとしています。このテキストを で表示するにはどうすればよいFragment41
ですか? いくつかの方法を試しましたが、この実装について混乱しています。そして、getIntent().
ここでの方法が間違っていることは知っていますが、何のために変更すればよいのかわかりません)。これをすべて手伝ってください。
じぶんの Fragment41
package make.appaplication;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class Fragment41 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_41, container, false);
TextView textViewDisplayResult = (TextView) getView().findViewById(R.id.text_view_display_result);
textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false)?R.string.Good_answer:R.string.Wrong_answer);
}
}
ここにあるFragment41
中FragmentList
でMainActivity
fragmentList.add(new Fragment41());
そして、ここにコードがあります checkButton
buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkAnswers())
intent.putExtra("Key Answer", true);
else
intent.putExtra("Key Answer", false);
startActivity(intent);
}
});
もう一つだけ問題
strings
「良い答え」と「間違った答え」の2つがあり、それらのコードは
buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkAnswers())
intent.putExtra("Key Answer", true);
else
intent.putExtra("Key Answer", false);
startActivity(intent);
}
});
上記のコードと以下のコードに、string
「すべての回答をチェックしていません」というステートメントをもう 1 つ追加する方法は?
textViewDisplayResult.setText(getActivity().getIntent().getBooleanExtra("Key Answer", false)?R.string.Good_answer:R.string.Wrong_answer);
をgetActivity().getIntent().get...
呼び出すだけでなく、を使用する必要がありますgetIntent()
。したがって、フラグメント内のコード全体は次のとおりです。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_41, container, false);
TextView textViewDisplayResult = (TextView) view.findViewById(R.id.text_view_display_result);
textViewDisplayResult.setText(getActivity().getIntent().getBooleanExtra("Key Answer", false)?R.string.Good_answer:R.string.Wrong_answer);
return view;
}
以前の投稿ですでに回答したと思います。
そして、もちろん、あなたがそれをしたと思います (最初にドキュメントhttps://developer.android.com/guide/components/fragments.html#Addingを読んでいない場合)、フラグメントをアクティビティに追加する必要があります。
getFragmentManager().beginTransaction().add(R.id.fragmentHolder, fragment_41_instance).addToBackStack(null).commit();
別の問題
buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!allAnswersChecked())
intent.putExtra("Key Answer", 1);
else if (checkAnswers())
intent.putExtra("Key Answer", 2);
else
intent.putExtra("Key Answer", 3);
startActivity(intent);
}
});
その後:
int result = getActivity().getIntent().getIntExtra("Key Answer", 1);
textViewDisplayResult.setText(result == 1 ? R.string.text_not_checked :
result == 2 ? R.string.Good_answer : R.string.Wrong_answer);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加