Criar lista de títulos em aberto por cliente (ExpandableListView)
06/05/2018
0
Preciso criar uma lista de clientes x títulos vencidos e jogar no ExpandableListView, o problema que está acontecendo é que se tenho 3 clientes cada um com 1 título em aberto está mostrando os 3 títulos pra todos os 3 clientes, sei que o motivo é no preenchimento do HashMap<String, List<TitulosVencidos>> titulosvencidos. Segue o código.
public class ListaTitulosVencidos extends AppCompatActivity implements
// SearchView.OnQueryTextListener,
MenuItemCompat.OnActionExpandListener{
HashMap<String, List<TitulosVencidos>> titulosvencidos;
List<String> clientes;
List<TitulosVencidos> titulos;
TitulosVencidosAdapter adapter;
ProgressBar mProgressBar;
String auxcli;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tela_titulos_vencidos);
clientes = new ArrayList<String>();
titulosvencidos = new HashMap<String, List<TitulosVencidos>>();
ExpandableListView listView = (ExpandableListView)findViewById(R.id.titulosvencidos);
mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
adapter = new TitulosVencidosAdapter(this, clientes, titulosvencidos);
listView.setAdapter(adapter);
new RelacaoClientesVencidos().execute();
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return true;
}
private void exibirProgress(boolean exibir){
mProgressBar.setVisibility(exibir ? View.VISIBLE : View.GONE);
}
protected class RelacaoClientesVencidos extends AsyncTask<Void, JSONObject, ArrayList<ClientesVencidos>> {
ArrayList<ClientesVencidos> deptTable = null;
@Override
protected void onPreExecute(){
super.onPreExecute();
exibirProgress(true);
}
@Override
protected ArrayList<ClientesVencidos> doInBackground(Void... params) {
// TODO Auto-generated method stub
RestAPI api = new RestAPI();
try {
JSONObject jsonObj = api.RelacaoClientesVencidos(username);
JSONParser parser = new JSONParser();
deptTable = parser.parseClientesVencidos(jsonObj);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.d("RelacaoClientesVencidos", e.getMessage());
}
return deptTable;
}
@Override
protected void onPostExecute(ArrayList<ClientesVencidos> result) {
// TODO Auto-generated method stub
titulos = new ArrayList<TitulosVencidos>();
for (int i = 0; i < result.size(); i++) {
clientes.add(result.get(i).getCod_cliente() + "-" + result.get(i).getCliente());
auxcli = result.get(i).getCod_cliente();
new RelacaoTitulosVencidos().execute();
titulosvencidos.put(clientes.get(i), titulos);
}
adapter.notifyDataSetChanged();
exibirProgress(false);
}
}
protected class RelacaoTitulosVencidos extends AsyncTask<Void, JSONObject, ArrayList<TitulosVencidos>> {
ArrayList<TitulosVencidos> deptTable = null;
@Override
protected void onPreExecute(){
super.onPreExecute();
}
@Override
protected ArrayList<TitulosVencidos> doInBackground(Void... params) {
// TODO Auto-generated method stub
RestAPI api = new RestAPI();
try {
JSONObject jsonObj = api.RelacaoTitulosVencidos(auxcli);
JSONParser parser = new JSONParser();
deptTable = parser.parseTitulosVencidos(jsonObj);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.d("RelacaoTitulosVencidos", e.getMessage());
}
return deptTable;
}
@Override
protected void onPostExecute(ArrayList<TitulosVencidos> result) {
// TODO Auto-generated method stub
for (int i = 0; i < result.size(); i++) {
titulos.add(new TitulosVencidos(result.get(i).getNum_docto(), result.get(i).getData_emissao(),
result.get(i).getData_vencto(), result.get(i).getCod_vendedor(),
result.get(i).getCod_cliente(), result.get(i).getCliente(),
result.get(i).getValor_saldo(), result.get(i).getDias()));
}
}
}
}
public class ListaTitulosVencidos extends AppCompatActivity implements
// SearchView.OnQueryTextListener,
MenuItemCompat.OnActionExpandListener{
HashMap<String, List<TitulosVencidos>> titulosvencidos;
List<String> clientes;
List<TitulosVencidos> titulos;
TitulosVencidosAdapter adapter;
ProgressBar mProgressBar;
String auxcli;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tela_titulos_vencidos);
clientes = new ArrayList<String>();
titulosvencidos = new HashMap<String, List<TitulosVencidos>>();
ExpandableListView listView = (ExpandableListView)findViewById(R.id.titulosvencidos);
mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
adapter = new TitulosVencidosAdapter(this, clientes, titulosvencidos);
listView.setAdapter(adapter);
new RelacaoClientesVencidos().execute();
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return true;
}
private void exibirProgress(boolean exibir){
mProgressBar.setVisibility(exibir ? View.VISIBLE : View.GONE);
}
protected class RelacaoClientesVencidos extends AsyncTask<Void, JSONObject, ArrayList<ClientesVencidos>> {
ArrayList<ClientesVencidos> deptTable = null;
@Override
protected void onPreExecute(){
super.onPreExecute();
exibirProgress(true);
}
@Override
protected ArrayList<ClientesVencidos> doInBackground(Void... params) {
// TODO Auto-generated method stub
RestAPI api = new RestAPI();
try {
JSONObject jsonObj = api.RelacaoClientesVencidos(username);
JSONParser parser = new JSONParser();
deptTable = parser.parseClientesVencidos(jsonObj);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.d("RelacaoClientesVencidos", e.getMessage());
}
return deptTable;
}
@Override
protected void onPostExecute(ArrayList<ClientesVencidos> result) {
// TODO Auto-generated method stub
titulos = new ArrayList<TitulosVencidos>();
for (int i = 0; i < result.size(); i++) {
clientes.add(result.get(i).getCod_cliente() + "-" + result.get(i).getCliente());
auxcli = result.get(i).getCod_cliente();
new RelacaoTitulosVencidos().execute();
titulosvencidos.put(clientes.get(i), titulos);
}
adapter.notifyDataSetChanged();
exibirProgress(false);
}
}
protected class RelacaoTitulosVencidos extends AsyncTask<Void, JSONObject, ArrayList<TitulosVencidos>> {
ArrayList<TitulosVencidos> deptTable = null;
@Override
protected void onPreExecute(){
super.onPreExecute();
}
@Override
protected ArrayList<TitulosVencidos> doInBackground(Void... params) {
// TODO Auto-generated method stub
RestAPI api = new RestAPI();
try {
JSONObject jsonObj = api.RelacaoTitulosVencidos(auxcli);
JSONParser parser = new JSONParser();
deptTable = parser.parseTitulosVencidos(jsonObj);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.d("RelacaoTitulosVencidos", e.getMessage());
}
return deptTable;
}
@Override
protected void onPostExecute(ArrayList<TitulosVencidos> result) {
// TODO Auto-generated method stub
for (int i = 0; i < result.size(); i++) {
titulos.add(new TitulosVencidos(result.get(i).getNum_docto(), result.get(i).getData_emissao(),
result.get(i).getData_vencto(), result.get(i).getCod_vendedor(),
result.get(i).getCod_cliente(), result.get(i).getCliente(),
result.get(i).getValor_saldo(), result.get(i).getDias()));
}
}
}
}
Jefferson Lima
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)