У меня есть спиннер, который выбирает значения ветвей и сохраняет их в EditText в методе onItemSelected. Но мне нужно, чтобы значение, отображаемое в редактируемом тексте (ветви), было предварительно назначено методу операции вставки SqliteDatabase в той же операции. Извините, я не смог правильно сформулировать вопрос.
register.java
public class register extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
SQLiteOpenHelper openHelper;
SQLiteDatabase db;
Button _btnsignup;
EditText _txtFname, _txtLname, _txtpass, _txtemail, _txtrollno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
openHelper=new DatabaseHelper(this);
_btnsignup= findViewById(R.id.btn_signup);
_txtFname=findViewById(R.id.fname);
_txtLname=findViewById(R.id.lname);
_txtpass=findViewById(R.id.password);
_txtemail=findViewById(R.id.email);
_txtrollno=findViewById(R.id.rollno);
_btnsignup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
db=openHelper.getWritableDatabase();
String fname=_txtFname.getText().toString();
String Lname= _txtLname.getText().toString();
String pwd= _txtpass.getText().toString();
String email= _txtemail.getText().toString();
String rollno= _txtrollno.getText().toString();
insertdata(Fname, Lname, pwd,email,rollno);
Toast.makeText(getApplicationContext(), "Registered Succesfully", Toast.LENGTH_LONG).show();
}
});
Spinner spinner=findViewById(R.id.semester);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.semester,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void insertdata( String Fname, String Lname, String pwd, String email, String rollno){
ContentValues contentValues=new ContentValues();
contentValues.put(DatabaseHelper.COL_2, Fname);
contentValues.put(DatabaseHelper.COL_3, Lname);
contentValues.put(DatabaseHelper.COL_4, pwd);
contentValues.put(DatabaseHelper.COL_5, email);
contentValues.put(DatabaseHelper.COL_6, rollno);
long id=db.insert(DatabaseHelper.TABLE_NAME,null,contentValues);
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String text=adapterView.getItemAtPosition(i).toString();
EditText branch= (EditText)findViewById(R.id.branch);
String text2=adapterView.getSelectedItem().toString();
branch.setText(text2);
Toast.makeText(adapterView.getContext(),text,Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
public void open_login(View view){
startActivity(new Intent(getApplicationContext(),login.class));
}
}
Мне нужно передать значение Editext от branch.setText(text2);
до String branch= _txtbranch.getText().toString();
, определенное выше в public void onclick
. Но он говорит, что не может
Разрешить символ branch.getText (). ToString;поскольку он объявлен в другой функции.
Если я объявлю это глобально, то метод getItemSlelected
покажет ошибку и приложение вылетает. Пожалуйста, помогите.