【发布时间】:2018-06-26 16:58:57
【问题描述】:
我正在为我的应用程序开发完成课程构建一个 Fate Dice 滚轮应用程序,但在根据结果更改骰子的 ImageView 时遇到问题。这是代码(滚轮在片段选项卡中):
public class RollDiceFragment extends Fragment {
private Button btnRoll;
private EditText et_rollDice;
private ImageView iv_dice1, iv_dice2, iv_dice3, iv_dice4;
Random random;
public RollDiceFragment() {
}
public static RollDiceFragment newInstance() {
RollDiceFragment fragment = new RollDiceFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_rolldice, container, false);
random = new Random();
btnRoll = rootView.findViewById(R.id.btnRoll);
et_rollDice = rootView.findViewById(R.id.et_rollDice);
iv_dice1 = rootView.findViewById(R.id.iv_dice1);
iv_dice2 = rootView.findViewById(R.id.iv_dice2);
iv_dice3 = rootView.findViewById(R.id.iv_dice3);
iv_dice4 = rootView.findViewById(R.id.iv_dice4);
btnRoll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RollDiceFragment.this.rollDice();
}
});
return rootView;
}
private void rollDice(){
int d1 = this.random.nextInt(3) -1;
int d2 = this.random.nextInt(3) -1;
int d3 = this.random.nextInt(3) -1;
int d4 = this.random.nextInt(3) -1;
String print = (((BuildConfig.FLAVOR + addResult(d1)) + addResult(d2)) + addResult(d3)) + addResult(d4);
int diceSum = ((d1 + d2) + d3) + d4;
if (diceSum > 0){
this.et_rollDice.setText("+" + Integer.toString(diceSum));
}else {
this.et_rollDice.setText(Integer.toString(diceSum));
}
}
public String addResult(int i){
if (i == 1){
return "+";
}
if (i == 0){
return "0";
}
return "-";
}
}
随机滚轮在模拟器上运行良好,结果显示在 editText 行中。我只想根据每个骰子的结果更改图像。如果骰子显示“-”,则显示的图像应为 diceminus.jpg.... 任何帮助将不胜感激 =)
【问题讨论】:
标签: java android imageview dice