簡體   English   中英

在不同的微調器選項上顯示不同的圖像

[英]Show different images on different spinner selections

我是Android開發的新手,我正在嘗試創建一個包含Spinner(3個條目)的simple application

我的目標是to show a different image for each spinner that is selected

在一些教程的幫助下,我設法獲得了以下代碼,但是我不知道如何將圖像綁定到微調器條目。

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:entries="@array/Stockwerk"/>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="Plan der 8. Etage"
    />
</LinearLayout>
</RelativeLayout>

main_activity.java

package com.example.raumplan;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Spinner;

public class MainActivity extends Activity {

private Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    addListenerOnSpinnerItemSelection();
}


public void addListenerOnSpinnerItemSelection() {
    spinner = (Spinner) findViewById(R.id.spinner1);
    spinner.setOnItemSelectedListener(new CustomOnItemSelectedListener());

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

CustomOnItemSelectedListener.java

package com.example.raumplan;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ImageView;
import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

  public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
Toast.makeText(parent.getContext(), 
    parent.getItemAtPosition(pos).toString()+" ausgewählt",
    Toast.LENGTH_SHORT).show();


  }

  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
  }

}

我非常感謝你們的幫助:D謝謝

編輯:感謝您的幫助。 我嘗試添加以下內容,但我不知道該用“ urImageView”替換什么。

switch (pos) {
    case 0:
        urImageView.setImageResource(R.drawable.x);
        break;
    case 1:
        urImageView.setImageResource(R.drawable.y);         
        break;
    case 2:
        urImageView.setImageResource(R.drawable.z);         
        break;
    default:
        break;
}

在我的activity_main.xml中,

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="Plan der 8. Etage"
    />
<ImageView
    android:id="@+id/imageView2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="Plan der 7. Etage"
    />
<ImageView
    android:id="@+id/imageView3"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="Plan der 6. Etage"
    />

您可以簡單地在onItemSelected()添加switch語句

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(), 
    parent.getItemAtPosition(pos).toString() + " ausgewählt", Toast.LENGTH_SHORT).show();

    switch (pos) {
        case 0:
           break;
        default:
           break;
    }
}

有一些步驟可以創建帶有文本和圖像的微調框。

Steps :
  1.  Create Model (SpinnerModel.java) to store data for each spinner row.
  2.  Create a ArrayList to store Model (SpinnerModel.java) objects.
  3.  Store data in Models and Store Model objects in Arraylist.
  4.  Pass Model object Arraylist to custom adapter.
  5.  Custom Adapter use Arraylist data (Model Objects) and create rows for Spinner.
  6.  Create listener for Spinner and show spinner item selected values on activity.


This link given below will help you.

帶有圖像和文本的自定義微調器

您還可以使用其他條件來選擇顯示多個圖像。 這樣的事情。

spinner = (Spinner) findViewById(R.id.spinner1);
imageview = (ImageView) findViewById(R.id.imageView1);

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    //spinner.
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1,
                               int arg2, long arg3) {
        if(arg2==0)
        {
            imageview.setImageResource(R.drawable.apple);
        }
        else if(arg2==1)
        {
            imageview.setImageResource(R.drawable.microsoft);
        }
        else
        {
            imageview.setImageResource(R.drawable.google);
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM