Привет! У меня создан класс Школы занятий.
Я хочу, чтобы при выборе номера рулона -01 из раскрывающегося списка он проверял в базе данных имя и адрес, где номер рулона равен 01, и отображал имя и адрес в соответствующих полях Edittext. и так далее для других номеров роллов
ПРИМЕЧАНИЕ: Я не хочу, чтобы какая-либо кнопка нажималась для поиска, она должна быть динамической при выборе, основанном на textwatcher или другом решении. Просьба предложить
У меня еще нет кода. У меня есть простой код, где я получаю значение для Roll нет, из таблицы базы данных, используя
КОД ДЕЯТЕЛЬНОСТИ КЛАССА:
public class Activity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
DatabaseHelper myDb;
Spinner RollNumber;
EditText Name;
EditText Class;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_stock_move );
myDb = new DatabaseHelper( this );
LotNo1 = (Spinner) findViewById( R.id.SpinnerDropDownSelectRollNo1ModifyScreen );
Name = (EditText) findViewById( R.id.EditTextName );
Class = (EditText) findViewById( R.id.EditTextClass );
FetchRollNumber();
}
//GEt RollNumber From Table_Class
private void loadSpinnerRollNumber() {
// database handler
DatabaseHelper db = new DatabaseHelper(getApplicationContext());
// Spinner Drop down elements
List<String> lables = db.AvailableLot();
// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
// Drop down layout style - list view with radio button
dataAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
RollNumber.setAdapter(dataAdapter);}
//Code for Name
//Code for Class
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
КОД ПОМОЩИ БАЗЫ ДАННЫХ:
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String Database_Name = "Class";
public static final int Database_Version = 1;";
public static final String Table_class = "ClassName";
public static final String COL_1 = "ID";
public static final String COL_2 = "RollNo";
public static final String COL_3 = "Name";
public static final String COL_4 = "Class";
public DatabaseHelper(Context context) {
super( context, Database_Name, null, 1 );
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL( "create table " + Table_class+ "(ID INTEGER PRIMARY KEY AUTOINCREMENT DEFAULT 0,ENTRYDATE TEXT,RollNo TEXT,Name TEXT,Class TEXT)" );
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL( "DROP TABLE IF EXISTS " + Table_class);
}
// Update inventory table on stock add
public List<String> AvailableLot() {
List<String> labels = new ArrayList<String>();
// Select All Query
String selectQuery = "SELECT * FROM " + Table_class;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
labels.add(cursor.getString(3));
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
// returning lables
return labels;
}
}