Jestem początkującym przy użyciu Studio Java z Androidem Java, otrzymałem listę rozwijanej ze wszystkimi nazwami samochodów. Muszę włączyć 30 obrazów samochodowych, ale aby rozpocząć rzeczy, próbuję dołączyć 5 zdjęć, próbowałem dodać obraz na każdym z samochodów znajdujących się na liście rozwijanej. Zrozumiałem, jak zrobić spinner i mam dla niego kod, ale teraz po kliknięciu listy rozwijanej i kliknij samochód Ford i chcę, aby obrazy były również wyglądane.

Dla Main.java (o nazwie Activity2.java) Oto kod dla niego

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.Toast;

import java.lang.reflect.Array;
import java.util.ArrayList;

public class Activity2 extends AppCompatActivity {
private Spinner carsSpinner;
private ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_2);

    carsSpinner = findViewById(R.id.carsSpinner);

    //final ArrayList<String> cars = new ArrayList<>();
   // cars.add("Audi");
   // cars.add("Bentley");
   // cars.add("BMW");
   // cars.add("Chevrolet");
    //cars.add("Citroen");

    //ArrayAdapter<String> carsAdapter = new ArrayAdapter<>(this, 
  android.R.layout.simple_spinner_dropdown_item, cars);

    //carsSpinner.setAdapter(carsAdapter);//

    carsSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(Activity2.this, carsSpinner.getSelectedItem().toString() + " Selected", 
   Toast.LENGTH_SHORT).show();
        }

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

        }
    });
}

Dla głównej aktywności.xml (o nazwie aktywność2.xml) Oto kod dla niego, wiem, że muszę dołączyć tam imageview.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Spinner
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    android:id="@+id/carsSpinner"
    android:entries="@array/cars"/>


</RelativeLayout>

Dla string.xml tutaj jest dla niego kod

<resources>
<string name="app_name">My Application</string>
<string-array name="cars">
    <item>Audi</item>
    <item>Bentley</item>
    <item>BMW</item>
    <item>Ferrari</item>
    <item>Citroen</item>
</string-array>

Tak wygląda moja aplikacja, ale teraz chcę włączyć obraz samochodu dla każdego samochodu, to znaczy wiele, jeśli chłopaki mogliby mi pokazać we właściwym kierunku.

enter image description here enter image description here

0
DaveyHenry 13 marzec 2021, 00:26

1 odpowiedź

Najlepsza odpowiedź

Musisz wykonać niestandardowy układ i adapter.

Więcej informacji na temat wdrażania go na poniższym linku:

https://www.codingdemos.com/android-custom-spinner-Images-text/

-1
Henry Twist 13 marzec 2021, 01:35