항목에 대한 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;
}
}
내 데이터베이스 클래스를 사용하고있는 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