在我的Android應用程序中,我有一個帶有Items的Spinner,如:(1,2)(3,4)..(71,72)。 當我從那個微調選擇一個項目,然後我得到例如。 (67,68)在那裏。 現在我想通過點擊一個或另一個textView以編程方式將所選項目更改爲(65,66)或 (69,70)。 也就是說,我想通過點擊這兩個textViews,這樣來減少或增加在字符串數組中選擇位置:Android減少或增加Spinner中的選擇位置
「< <的SelectedItem >>」。
爲此,我可以使用setSelection(position)。
我的應用程序可以通過使用getSelectedItemPosition知道到目前爲止選擇了哪個項目。
getSelectedItemPosition返回一個整數。所以例如。如果我減少該整數並運行setSelection(position),SelectedItem將更改爲該數組中的前一項。
因此,爲了這個工作,我必須將整數添加到'position_variable', 然後用1減少該變量並用該值運行setSelection(position_variable)。
程序必須驗證是否位置0或最大值不超過/低於界限。
我該如何在Java中實現這個功能?我正在Android Studio中開發我的應用程序。
在activity_main.xml中我也有其它如下之中:
<TextView
android:id="@+id/forward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ora_keltezese"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_toEndOf="@id/orarend"
android:text="@string/forward"
android:textSize="20sp"
android:onClick="increaseSpinnerItemPosition"/>
<TextView
android:id="@+id/backward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ora_keltezese"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:text="@string/backward"
android:textSize="20sp"
android:onClick="decreaseSpinnerItemPosition"/>
在MainActivity.java我有別人以下之中:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spinner = (Spinner) findViewById(R.id.orarend);
//Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.TanitasiNapok, 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 spinner2 = (Spinner) findViewById(R.id.blokkora);
//Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this,
R.array.BlokkoraSorszama, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner2.setAdapter(adapter2);
Spinner spinner3 = (Spinner) findViewById(R.id.osztaly);
//Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter3 = ArrayAdapter.createFromResource(this,
R.array.OsztalyKivalasztasa, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner3.setAdapter(adapter3);
}
public void decreaseSpinnerItemPosition (View v) {
//What to put here?
}
public void increaseSpinnerItemPosition (View v) {
//What to put here?
}
}
那麼,怎樣才能實現我在我的應用程序的position_variable? 我該如何實現我的目標?
哇,它的作品!其實我正在減少或增加spinner2。所以我相應地修改了你的命令。只是不明白我做了什麼? – PalCsanyi
我編輯了我的答案,並簡化了增加和減少方法。 – Prexx
非常感謝您的幫助! – PalCsanyi