【发布时间】:2012-11-15 12:55:23
【问题描述】:
我使用Spinner 和TextView 创建了一个Android 应用程序。我想在 TextView 的 Spinner 下拉列表中显示所选项目。我在onCreate 方法中实现了 Spinner,所以当我运行程序时,它会在TextView 中显示一个值(在从下拉列表中选择一个项目之前)。
我只想在从下拉列表中选择一个项目后在 TextView 中显示该值。我该怎么做?
这是我的代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class GPACal01Activity extends Activity implements OnItemSelectedListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.noOfSubjects);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.noofsubjects_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id) {
TextView textView = (TextView) findViewById(R.id.textView1);
String str = (String) parent.getItemAtPosition(pos);
textView.setText(str);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
【问题讨论】:
-
微调器总是有一个默认选择值,如果你想有一个没有默认选择值的微调器,你应该创建你的自定义微调器,或者创建一个带有空条目的自定义微调器,并在 getView () 方法,将原始布局的可见性更改为 GONE
-
2018年底怎么还存在这么烦人的bug???
-
@user-123 你的意思是 2020 年? ;)
-
@musooff 你的意思是 2021 年?
-
在这里我找到了 Perfact 的答案。 stackoverflow.com/a/69367698/640913
标签: android android-layout android-spinner