我的Android应用程序中有一个微调器的问题。
在一个活动中,我列出了一个表中的所有值,然后单击一个,我可以编辑记录的值
为此,我打开另一个活动,并发送数据库ID
在这个新活动中,我加载值acordind该ID并更新edittexts
但是,我的旋转器有问题
我用另一个“表格填充它,但在此之后我怎么能”将所选值“移动到正确的?”
例如,我有这样的表格:
客户:
id,姓名,年龄,地址,电话,idtype
TYPE:
id,name,obs
当我在我的活动中加载值时,从所选客户,我将获得我的类型的IDTYPE。但是,在旋转器中我只有“名字”
我该怎么办?
有什么想法吗?
这是代码: 公共类AlteraApiarios扩展Activity { String Id; EditText etNumero,etNome,etLocal,etLatitude,etLongitude,etDataCria; CheckBox cbZona; Spinner spTipo; 按钮btGravar,btAnular; String [] ArrayTipo,IdBD; SQLiteDatabase bancoDados = null; 光标光标;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alteraapiarios);
Inicializa_Objectos();
Carrega_Spinner();
Listeners();
Intent iDadosRecebidos = getIntent();
if (iDadosRecebidos != null )
{
Id=iDadosRecebidos.getStringExtra("id");
Prepara_Alteracao();
}
else finish();
}
@Override
protected void onResume() {
super.onResume();
public void Prepara_Alteracao(){
try{
bancoDados = openOrCreateDatabase("GESTAPI", MODE_WORLD_READABLE , null);
String selectQuery = "SELECT * FROM Apiarios WHERE id=" +Id;
cursor=bancoDados.rawQuery(selectQuery, null);
cursor.moveToFirst();
etNumero.setText(cursor.getString(cursor.getColumnIndex("Numero")));
etNome.setText(cursor.getString(cursor.getColumnIndex("Nome")));
etLocal.setText(cursor.getString(cursor.getColumnIndex("Local")));
etDataCria.setText(cursor.getString(cursor.getColumnIndex("DataCria")));
if(cursor.getString(cursor.getColumnIndex("ZControlada")).equals("1")){
cbZona.setChecked(true);
} else cbZona.setChecked(false);
etLatitude.setText(cursor.getString(cursor.getColumnIndex("GPSLat")));
etLongitude.setText(cursor.getString(cursor.getColumnIndex("GPSLon")));
----->>>>>>>> spTipo.setSelection(cursor.getInt(cursor.getColumnIndex("TipoApi")));
bancoDados.close();
}
catch (Exception erro){
MostraMensagem("Erro", "Ocorreu um erro ao consultar a Base de Dados: "+erro);
}
}
public boolean Valida_Dados(){
if (etNumero.length()<=0) return false;
if (etNome.length()<=0) return false;
return true;
}
public void Carrega_Spinner(){
try{
bancoDados = openOrCreateDatabase("GESTAPI", MODE_WORLD_READABLE , null);
cursor=bancoDados.query("TiposApi", new String [] {"id","Tipo"}, null, null, null, null, null);
cursor.moveToFirst();
ArrayTipo=new String[cursor.getCount()];
IdBD=new String[cursor.getCount()];
for (int i=0; i != cursor.getCount() ; i++)
{
ArrayTipo[i]=""+cursor.getString(cursor.getColumnIndex("Tipo"));
IdBD[i]=""+cursor.getString(cursor.getColumnIndex("id"));
cursor.moveToNext();
}
bancoDados.close();
}
catch (Exception erro){
MostraMensagem("Erro", "Ocorreu um erro ao consultar a Base de Dados: "+erro);
}
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ArrayTipo);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spTipo.setAdapter(adapter);
}
public void Inicializa_Objectos(){
etNome=(EditText) findViewById(R.idApiario.etNome);
etNumero=(EditText) findViewById(R.idApiario.etNumero);
etLocal=(EditText) findViewById(R.idApiario.etLocal);
etLatitude=(EditText) findViewById(R.idApiario.etLatitude);
etLongitude=(EditText) findViewById(R.idApiario.etLongitude);
cbZona=(CheckBox) findViewById(R.idApiario.cbZona);
spTipo=(Spinner) findViewById(R.idApiario.spTipo);
etDataCria=(EditText) findViewById(R.idApiario.etDataCria);
btGravar=(Button) findViewById(R.idApiario.btGravar);
btAnular=(Button) findViewById(R.idApiario.btAnular);
}
public void Listeners(){
etDataCria.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(AlteraApiarios.this,MudaData.class));
}
});
btAnular.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Prepara_Alteracao();
}
});
btGravar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
public void MostraMensagem(String Titulo, String Mensagem)
{
AlertDialog.Builder msg =new AlertDialog.Builder(AlteraApiarios.this);
msg.setTitle(Titulo);
msg.setMessage(Mensagem);
msg.setNeutralButton("OK", null);
msg.show();
}
}