我的 Android 应用程序中的微调器有问题。
在一项活动中,我列出了一张表中的所有值,然后单击其中一项,我可以编辑记录的值。
为此,我打开另一个活动,并发送数据库 ID。
在这个新活动中,我根据该 ID 加载值并更新编辑文本。
但是,我的微调器有问题。
我用另一个“表”填充它,但是在此之后我如何“将选定的值”移动到正确的位置?
例如,我有这个表:
CUSTOMERS:
id, name, age, address, phone, idtype
TYPE:
id, name , obs
当我从选定的客户处加载活动中的值时,我将获得我的类型的 IDTYPE。但是,在微调器中,我只有“名称”。
我怎样才能做到这一点???
有任何想法吗?
代码如下: public class AlteraApiarios extends Activity { String Id; EditText etNumero,etNome,etLocal,etLatitude,etLongitude,etDataCria; 复选框 cbZona; 微调器 spTipo;按钮 btGravar,btAnular; 字符串 [] 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();
}
}