Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每次打开新活动时都不会显示Drawable_Java_Android - Fatal编程技术网

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));
        }
    ....
    }