【问题标题】:How to display and image in imageview from spinner selection如何通过微调器选择在图像视图中显示和图像
【发布时间】:2012-10-04 17:37:12
【问题描述】:

我希望能够从Spinner 中选择一个项目并将该项目显示在ImageView 中。我试过这样做,我的示例代码如下。还有其他方法吗?

活动类

    public class Campsites  extends Activity{ 
            @Override 
                public void onCreate(Bundle savedInstanceState) { 
                super.onCreate(savedInstanceState); 
                setContentView(R.layout.campsites); 


                Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Camp_Site_Facilities, android.R.layout.simple_spinner_item); 
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
                spinner.setAdapter(adapter); 
            }

    public void onItemSelected(AdapterView<?> parent, View view, 
            int pos, long id) {

            ((ImageView) findViewById(R.id.imageView1)).setImageResource(0);
            ((ImageView) findViewById(R.id.imageView1)).setImageResource(R.drawable.bergendal1);


    }

    public void onNothingSelected(AdapterView<?> parent) {
        // Another interface callback
    }
}

布局 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:src="@drawable/elephant" >

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:scaleType="fitXY"/>

我已经在字符串中创建了这个

 <string-array name="Camp_Site_Facilities">
    <item>Berg en Dal</item>
    <item>Crocodile Bridge</item>
    <item>Letaba</item>
    <item>Lower Sabie</item>
    <item>Mopani</item>
    <item>Olifants</item>
    <item>Orpen</item>
    <item>Pretoriuskop</item>
    <item>Punda Maria</item>
    <item>Satara</item>
    <item>Shingwedzi</item>
    <item>Skukuza</item>
</string-array>

任何帮助将不胜感激。

【问题讨论】:

  • 您在使用此代码时遇到任何问题还是只是在等待更好的代码?
  • 好吧,它似乎不起作用。这个微调器工作正常,但当我选择一个项目时没有任何反应。所以我不太确定从微调器中选择项目后需要什么代码来显示图像。一个更好的代码将非常有帮助。 :-)
  • 我认为您需要为微调器设置监听器...我无法找到您为微调器设置监听器的代码。试试下面的答案

标签: android android-layout android-intent android-widget


【解决方案1】:

检查这是否有效

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
    // your code for setting the image based on the item clicked....here
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
    // your code here
}

});

【讨论】:

  • 谢谢你,但它只是调出图像但不能在图像之间切换。我需要为图像放置另一个字符串吗?或者你能告诉我切换图像的代码吗?我所有的图像都在 res/drawable 文件夹中。这是我第一次使用微调器。
  • 尝试用一个字符串和一个整数维护一个哈希图,其中字符串是 Camp_Site_Facilities 数组中的名称,整数是 R.drawable.bergendal1 的名称。我不确定,但试试看
  • 好的,谢谢,会试一试。谢谢你的帮助。如果这不起作用,我会让你知道。我想我会回到滑动抽屉并这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2023-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
相关资源
最近更新 更多