アイテムのIDを取得しようとしています。Spinnerで選択しました。私はAndroid Studioの新しいプログラマーです。取得するには、アイテムの位置、アイテムのIDを取得する方法SQLiteからスピナーを選択するAndroid
私は断片
public class FragmentVentas extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
DBVentas dbv = new DBVentas(getActivity(), "DBVentas", null, 1);
db = dbv.getWritableDatabase();
final View view = inflater.inflate(R.layout.fragment_fragment_ventas, container, false);
fSpinClientes = (Spinner) view.findViewById(R.id.spinnerClientesVentas);
loadSpinnerDataHama();
public void onItemSelected(AdapterView <<?> parent, View view, int pos, long id) {
String list = parent.getItemAtPosition(pos).toString();
Integer l = parent.getSelectedItemPosition();
//showing selected spinner item
Toast.makeText(parent.getContext(), "You selected: " + list + " Pos: " + l + " l1", Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView <<?> arg0) { // do nothing
}
});
return view;
}
私のクラスにSpinerObject
public class SpinnerObject {
private int databaseId;
private String databaseValue;
public SpinnerObject (int databaseId , String databaseValue) {
this.databaseId = databaseId;
this.databaseValue = databaseValue;
}
public int getId() {
return databaseId;
}
public String getValue() {
return databaseValue;
}
@Override
public String toString() {
return databaseValue;
}
}
マイDatabaseクラスを使用していますsqlliteデータベースからではない値である
public class DBVentas extends SQLiteOpenHelper {
public List < SpinnerObject> getAllLabels(){
List <SpinnerObject> labels = new ArrayList <SpinnerObject>();
// Select All Query
String selectQuery = "SELECT idCliente, Nombre FROM Clientes";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
labels.add (new SpinnerObject (Integer.parseInt(cursor.getString(0)), cursor.getString(1)));
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
// returning labels
return labels;
}
問題を追跡できません。
ショー 'loadSpinnerDataHama()'関数のコード –
あなたのアダプターにどのようなデータを結合していますか?それがスピナーオブジェクトであれば、あなたのオブジェクトに 'parent.getSelectedItem()'をキャストし、あなたのクラスの 'getId()'メソッドを呼び出すことができます。 – Pztar