Pessoal tenho um listview que traz os dados de uma tabela, até ai tudo bem, minha dificuldade é pegar o registro selecionado e mandar para outra tela dentro de um edittext
a classe que traz os valores no seu listview
[code]import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.embarcadero.javaandroid.DSProxy.TServerMethods1;
import com.embarcadero.javaandroid.DSRESTConnection;
import com.embarcadero.javaandroid.TDataSet;
public class ListaClientesActivity extends Activity {
private ProgressDialog dialog;
private Handler handler = new Handler();
private ListView listItens;
protected ProgressDialog progressDialog = null;
private ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista_clientes);
listItens = (ListView) findViewById(R.id.listaClientes);
buscaClientes();
listItens.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// não sei como fazer
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.lista_clientes, menu);
return true;
}
// busca parte do cliente
public void buscaClientes() {
dialog = ProgressDialog.show(ListaClientesActivity.this, "Aguarde...",
"Pesquisando registros");
new Thread() {
@Override
public void run() {
DSRESTConnection conn = getConnection();
TServerMethods1 serv = new TServerMethods1(conn);
TDataSet ds;
// limpa a lista a cada pesquisa
list.clear();
try {
ds = serv
.ConsultaDadosCliente(VendaClienteActivity.edtCliente
.getText().toString());
while (ds.next()) {
HashMap<String, String> item = new HashMap<String, String>();
item.put("nome", ds.getValue("NOME").GetAsString());
item.put("id", ds.getValue("CODIGO").GetAsString());
list.add(item);
}
finalizaDialogo(false, "");
} catch (Exception e) {
finalizaDialogo(true, e.toString());
}
}
}.start();
}
private void finalizaDialogo(final boolean temErro, final String msg) {
handler.post(new Runnable() {
@Override
public void run() {
if (temErro)
Toast.makeText(ListaClientesActivity.this, msg,
Toast.LENGTH_LONG).show();
else
AtualizarTela();
// finaliar o dialogo
dialog.dismiss();
}
});
}
private void AtualizarTela() {
String[] from = new String[] { "nome", "id" };
int[] to = new int[] { android.R.id.text1, android.R.id.text2 };
int layoutNativo = android.R.layout.two_line_list_item;
listItens.setAdapter(new SimpleAdapter(this, list, layoutNativo, from,
to));
}
private DSRESTConnection getConnection() {
DSRESTConnection conn = new DSRESTConnection();
conn.setHost(MainActivity.ip);
conn.setPort(1032);
return conn;
}
}
[/code]
Ja tentei de varias formas que vi como exemplo na net, mais não consegui …
A lista é esta aqui
Tenho que mandar para a outra tela o ID e o Nome da pessoa concatenando dentro do edittext que vai receber.
