0
即时通讯在android开发中还是一个新东西。 我想刷新我的片段,并在该片段中获得新的imageButton背景,但我一直未能做到这一点。刷新片段后更改Imagebutton背景
这是我的主要活动
public class MainActivity extends AppCompatActivity {
public int QuestionNum =0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final MainActivityFragment MainFrag = new MainActivityFragment();
getSupportFragmentManager().beginTransaction()
.add(R.id.content, MainFrag).commit();
}
public void Answer1(View view){
QuestionNum++;
Stage StageFrag = new Stage();
getSupportFragmentManager().beginTransaction()
.replace(R.id.content,StageFrag).commit();
}
,这是我的片段
public class Stage extends Fragment {
public Stage() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_stage, container, false);
MainActivity Main = new MainActivity();
String QuestionInd[] = getResources().getStringArray(R.array.Qind);
Integer AnswerAnimal[]={R.drawable.anjing,R.drawable.kucing....};
int QNum = Main.QuestionNum;
TextView Question = (TextView) view.findViewById(R.id.Questions);
Question.setText(QuestionInd[Main.QuestionNum]);
ImageButton Ans1 = (ImageButton) view.findViewById(R.id.Choice1);
ImageButton Ans2 = (ImageButton) view.findViewById(R.id.Choice2);
ImageButton Ans3 = (ImageButton) view.findViewById(R.id.Choice3);
ImageButton Ans4 = (ImageButton) view.findViewById(R.id.Choice4);
switch(QNum) {
case 0:
Ans1.setBackgroundResource(AnswerAnimal[0]);
Ans2.setBackgroundResource(AnswerAnimal[1]);
Ans3.setBackgroundResource(AnswerAnimal[2]);
Ans4.setBackgroundResource(AnswerAnimal[3]);
break;
case 1:
Ans1.setBackgroundResource(AnswerAnimal[8]);
Ans2.setBackgroundResource(AnswerAnimal[9]);
Ans3.setBackgroundResource(AnswerAnimal[5]);
Ans4.setBackgroundResource(AnswerAnimal[4]);
break;
}
return view;
}
}
我没有在我的logcat中出现错误。我也尝试使用添加,但背景并没有改变只有碎片保持堆叠。使用attach和retach也没有用。
请帮我解释我的错误。我真的很想了解这一点。谢谢。
Thx Archie,我会按照你的建议。仍试图找到一种方法来获取changeImageButtons()的工作。 –
'changeImageButtons()'将有'case 1:'代码。但不要在分段事务之后尽快调用该方法,因为它可能尚未创建UI。只要看看你的上面的代码,你不需要任何改变ImageButtons为什么你不只是初始化案例1资源的用户界面? –
当用户点击答案按钮时,我想要使用10种不同的图像背景。我想学习多次使用1片段,但我不太确定如何做到这一点。我会尽我所能解决这个问题。感谢您的帮助^^。 –