2017-09-07 15 views
1

これは、スピナーの顧客名をデータベースから呼び出して呼び出す機能です。私は顧客名を選択すると、私も顧客IDを取得することができます。どうやってするの?ことを使用してスピナーから得意先IDを取得する方法

+1

選択するにはIDを追加して....どうやって?しかし、なぜ?あなたはuserIdを持っていて、それを使って名前を見つけるのですか? – Stultuske

答えて

1
spinner_province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String item = parent.getItemAtPosition(position).toString(); 
      province_id = position; 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

public List<String> getAllUsers(String userID) { 
    List<String> userlist = new ArrayList<>(); 
    String status= "Active"; 
    SQLiteDatabase db = this.getReadableDatabase(); 
    String query = "select " + COLUMN_Customer_NAME + " from customer where " + COLUMN_Customer_USERID + "='" + userID + "'"+" AND " + COLUMN_Customer_STATUS + "='" + status + "'"; 
    Cursor cursor = db.rawQuery(query, null); 
    if (cursor.moveToFirst()) { 
     do { 
      userlist.add(cursor.getString(0)); 
     } while (cursor.moveToNext()); 
    } 
    cursor.close(); 
    db.close(); 
    return userlist; 

} 
は、あなたはスピナーから選択した項目を取得します。

+0

いいえ、 'province_id = id'ではなく' province_id = position; ' - 基本的に' position!= id'です – pskink

0

カスタムスピナーを作成し、名前とIDの配列をスピナーに渡します。そして、selecteditempositionを使用することによって、その位置

0

uは名前を保持されますと、IDなどなどを完全なオブジェクトを取得することができますクリックした項目にカスタムアダプタ付きスピナー

class customAdapter(context : Context ,items: List<YourUserModel>) : 
     ArrayAdapter<YourUserModel>(context, resourceID) 

のカスタムアダプタを作成する時に、アレイからIDを取得

簡単ですが推奨されていません。あなたは、スピナーの位置のインデックス/ idを持つオブジェクトをhashmapまたはarraylistに追加できます。あなたはそこからそれを得ることができます

関連する問題