[英]Three buttons, each start the same Activity with a different Int. But when selecting any button, it loads all 3 Activities
我正在編寫作業,並且已經運行了核心功能,但是對此我感到很困惑。 我在此“活動/片段”上有3個按鈕,每個按鈕都向一個新的“活動”發送一個“意圖”,並使用不同的整數來設置主游戲的速度。
按鈕1將速度設置為10,按鈕2將速度設置為30,按鈕3將速度設置為50。但是,無論我單擊哪個按鈕,它都首先以速度50啟動活動,然后在該活動結束時以速度啟動30,然后再以速度10再啟動。它實際上是在循環並開始所有可能的活動,但是我只希望所選的一項開始。
就我所知,這就是代碼。
public class LevelsFragment extends Fragment implements OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_levels, container, false);
Button b1 = (Button)rootView.findViewById(R.id.button1);
Button b2 = (Button)rootView.findViewById(R.id.button2);
Button b3 = (Button)rootView.findViewById(R.id.button3);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
return rootView;
}
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.button1:
Intent i1 = new Intent(getActivity(), GameActivity.class);
i1.putExtra("s", 10);
startActivity(i1);
case R.id.button2:
Intent i2 = new Intent(getActivity(), GameActivity.class);
i2.putExtra("s", 30);
startActivity(i2);
case R.id.button3:
Intent i3 = new Intent(getActivity(), GameActivity.class);
i3.putExtra("s", 50);
startActivity(i3);
}
}
}
您忘記在switch語句中放個break
。
switch (v.getId())
{
case R.id.button1:
Intent i1 = new Intent(getActivity(), GameActivity.class);
i1.putExtra("s", 10);
startActivity(i1);
break;
case R.id.button2:
Intent i2 = new Intent(getActivity(), GameActivity.class);
i2.putExtra("s", 30);
startActivity(i2);
break;
case R.id.button3:
Intent i3 = new Intent(getActivity(), GameActivity.class);
i3.putExtra("s", 50);
startActivity(i3);
break;
}
這是經典,你忘了break;
在不同情況之間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.