私のAndroidアプリケーションでは、(1,2)(3,4)..(71,72)のような項目のSpinnerがあります。 私はそのスピナーからアイテムを選択すると、例えば得る。 (67,68)そこに。 これで、選択したアイテムを(65,66)または (69,70)にプログラム的に変更したいと思っています。 つまり、次のように2つのtextViewsをクリックすることで、文字列配列内の選択位置を減らしたり増やしたいと考えています。AndroidはSpinnerの選択位置を減少または増加させます
'< < SelectedItem >>'。
私はsetSelection(position)を使用できます。
私のアプリケーションは、getSelectedItemPositionを使用して、これまでに選択されたItemを知ることができます。
getSelectedItemPositionは整数を返します。だから例えば。その整数を減らしてsetSelection(position)を実行すると、SelectedItemはその配列の前の項目に変更されます。
これを行うには、整数を 'position_variable'に追加する必要があります。 この変数を1で減らし、その値でsetSelection(position_variable)を実行します。
プログラムは、0を超えているか、または上限を超えていないかを確認する必要があります。
これをJavaでどのように実現できますか? Android Studioでアプリケーションを開発しています。
私は他人の下記の中から持ってMainActivity.javaで <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"/>
::私は他の人の以下の中から持ってactivity_main.xmlで
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を実装することができますか? 私の目標はどのように達成できますか?
うわー、それは働きます!実際に私はスピナー2を減らしたり増やしたりしています。そこで私はそれに応じてコマンドを変更しました。私は何をしたのか分かりません。 – PalCsanyi
私は自分の答えを編集し、増減方法を簡略化しました。 – Prexx
ありがとうございました! – PalCsanyi