我的应用由两个纺纱器和一个按钮组成,我从每个纺纱器中选择了每个值,稍后我使用按钮单击交换了纺纱器适配器,当纺纱器适配器被修改时,默认结果代表初始值,不管我给出的价值如何。交换纺纱器
这是我MainActivity的样子
public class MainActivity extends AppCompatActivity {
private Spinner alphabets, numbers;
private Button swapSpinners;
private ArrayAdapter<CharSequence> alphabetsAdapter, numbersAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alphabets = (Spinner) findViewById(R.id.alphabets);
numbers = (Spinner) findViewById(R.id.numbers);
swapSpinners = (Button) findViewById(R.id.swapSpinner);
alphabetsAdapter = ArrayAdapter.createFromResource(this,
R.array.alphabets, android.R.layout.simple_spinner_item);
alphabetsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
alphabets.setAdapter(alphabetsAdapter);
numbersAdapter = ArrayAdapter.createFromResource(this,
R.array.numbers, android.R.layout.simple_spinner_item);
numbersAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
numbers.setAdapter(numbersAdapter);
swapSpinners.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (alphabets.getAdapter().equals(alphabetsAdapter)) {
alphabets.setAdapter(numbersAdapter);
numbers.setAdapter(alphabetsAdapter);
} else {
alphabets.setAdapter(alphabetsAdapter);
numbers.setAdapter(numbersAdapter);
}
}
});}
}
这是我activity_main的样子
<?xml version="1.0" encoding="utf-8"?>
<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="karthik.spinnerswap.MainActivity">
<Spinner
android:id="@+id/alphabets"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/swapSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/alphabets"
android:text="Swap Spinners" />
<Spinner
android:id="@+id/numbers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/swapSpinner" />
</RelativeLayout>
这是我的strings.xml的样子
<resources>
<string name="app_name">SpinnerSwap</string>
<string-array name="alphabets">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
<item>E</item>
<item>F</item>
<item>G</item>
<item>H</item>
<item>I</item>
<item>J</item>
</string-array>
<string-array name="numbers">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
</string-array>
纺纱之前,我需要显示选择的值后调换纺织
谢谢@sushildlh,你的代码工作像一个魅力:) – Karthik
欢迎您..... :) – sushildlh