我的應用由兩個紡紗器和一個按鈕組成,我從每個紡紗器中選擇了每個值,稍後我使用按鈕單擊交換了紡紗器適配器,當紡紗器適配器被修改時,默認結果代表初始值,不管我給出的價值如何。交換紡紗器
這是我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