сравнить массив для рисования со строкой массива android studio - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу сравнить мое значение счетчика с нарисованным рисунком и установить текст видимым. Как мне go получить объект рисованного объекта в массиве для сравнения? Я попробовал приведенный ниже код, но безуспешно.

if (mSpinner.getSelectedItem (). Equals ("husky") && mImageView.equals (r.nextInt (R.drawable.husky_2317)) {

mTextView2.setVisibility (View.VISIBLE) );

}

public class Identify_Breed extends AppCompatActivity {

    private Spinner mDogs;
    private ImageView mImageView;
    private Button mButton;
    private Random r;
    private TextView mTextView;
    private TextView mTextView2;

    //image arrays
    final Integer[] images = {R.drawable.husky_2317, R.drawable.kuvasz_852, R.drawable.papillon_2579,
            R.drawable.vizsla_2681,};

    final String[]  dogs= {"Select Item", "husky", "kuvasz", "papillon", "vizsla"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_identify__breed);
        mImageView = (ImageView) findViewById(R.id.pic1);
        mButton = (Button) findViewById(R.id.button);
        mTextView = (TextView) findViewById(R.id.textView);
        mTextView2 = (TextView) findViewById(R.id.textView2);
        mDogs= (Spinner) findViewById(R.id.spinner);

       // final View root=mDogs.getRootView();
        ArrayAdapter <String> ad1= new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, dogs);

        mDogs.setAdapter(ad1);

        mDogs.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


                if (mDogs.getSelectedItem().equals("husky") && 
mImageView.equals(r.nextInt(R.drawable.husky_2317)){
                    mTextView2.setVisibility(View.VISIBLE);
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

1 Ответ

0 голосов
/ 27 февраля 2020

Попробуйте

if (mDogs.getSelectedItem().toString().equals("husky") && (mImageView.getBackground().getConstantState().equals(getResources().getDrawable(R.drawable.husky_2317)).getConstantState())))
...