Java 每次打开新活动时都不会显示Drawable
我有一个非常基本的应用程序,我试图随机显示一个骰子的图像。在这个阶段,我试图弄清楚为什么骰子不会在新活动中始终显示。当我从旋转器启动第二个活动时,问题就出现了,有时我可以多次启动第二个活动,并且其工作正常,然后突然骰子被释放。这只发生在我尝试在主活动中从旋转器掷骰子时,而不是在第二个活动中按下按钮时 我希望有人能在这里帮助我 主要活动Java 每次打开新活动时都不会显示Drawable,java,android,Java,Android,我有一个非常基本的应用程序,我试图随机显示一个骰子的图像。在这个阶段,我试图弄清楚为什么骰子不会在新活动中始终显示。当我从旋转器启动第二个活动时,问题就出现了,有时我可以多次启动第二个活动,并且其工作正常,然后突然骰子被释放。这只发生在我尝试在主活动中从旋转器掷骰子时,而不是在第二个活动中按下按钮时 我希望有人能在这里帮助我 主要活动 package com.example.t.diceapplication; import android.content.Intent; impo
package com.example.t.diceapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebViewClient;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements
AdapterView.OnItemSelectedListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.NmbrOfDiceArray, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (spinner.getSelectedItemPosition() == 1) {
startActivity(new Intent(MainActivity.this, OneDiceActivity.class));
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
@Override
public void onResume() {
super.onResume();
spinner.setSelection(0);
}
}
我认为您的
if
逻辑有问题。在每种情况下,您都会得到一个随机数,如果分支为真,则可能不会导致任何。试试这个。你只需要得到一次随机数
public void DisplayDice(){
int diceRandom = getRandomNumber();
// replace other instances to this method call with the variable
if (diceRandom ==1){
imageView.setImageDrawable(ContextCompat.getDrawable(this,R.drawable._diceone));
}
....
}
public void DisplayDice(){
int diceRandom = getRandomNumber();
// replace other instances to this method call with the variable
if (diceRandom ==1){
imageView.setImageDrawable(ContextCompat.getDrawable(this,R.drawable._diceone));
}
....
}