私のアプリケーションでは、コードでスピナーを動的に作成しています。ユーザーにスピナーをクリックさせ、その値/コンテンツを変更させたいと考えています。そうしないと、ユーザーは [次へ] ボタンをクリックして次の画面に進むことができません。
Androidでそれを行う方法は?誰にもアイデアはありますか?
前もって感謝します。
ローハン
これを使用できます:
if (spin.getSelectedItemPosition() < 0) {//Do something}
これは、ユーザーが何も選択していないことを意味します。
Spinner の最初の値を「-please select-」のようにします。
ユーザーが次のボタンをクリックすると、検証が実行され、スピナーの selectedItem の値が「-please select-」であるかどうかがチェックされます。そうである場合は、トーストを表示し、ユーザーにスピナーから何かを選択するように求めます。
コードが必要です。お知らせください。
このコードを使用して、スピナー項目が選択されているかどうかを確認します。
両方のフラグがクラス レベル (グローバル) で使用されます。
Boolean temp = false;
Boolean check = false;
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
if(temp){
check = true;
}
temp = true;
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
check = false;
}
});
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(check){
//perform when user select spinner item
}else{
//put Dialog for alert please select spinner item
}
}
}
..のようなブール値のグローバル変数を 1 つ作成します。
boolean isSelect = false;
ユーザーがスピナーから値を選択すると、それが作成されisSelect = false
ます。ユーザーが [次へ] ボタンをクリックすると、 isSelect
true または false の条件がチェックされます。
それでおしまい。
私の場合、リストの最初の位置に余分なアイテムを追加しました
1.「何かを選択」 2.「次へ」 3.「前へ」 5.. 6..
その後使用中
String item=spinnerObject.getSelectedItem ();
now check if("Select Something".equels(item)){
show some dialog to select anything from spinner
}else{
send it to next screen
}
そのスピナーIntent
の次のためにActivity
あなたを呼び出しますClick Listener
選択した項目の値は、次のメソッドを使用して取得できます。
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
if (spinner.getSelectedItem().toString().equals("YourValue")) {
Intent yourIntent = new Intent(this,YourClassName.class);
startActivity(yourIntent);
}
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});