The ImageView responsible for calculating the amount of items is not responding. Had done in the Adapter class, but still not calculated and a friend of mine said I could not calculate the adapter , because the class lost references, anyone know why ? And what better way to solve this problem?
Class Produto:
public class Produto implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String conteudo;
private double valor;
private int id;
private boolean selecionado = false;
public Produto(String conteudo, double valor, int id) {
this.conteudo = conteudo;
this.valor = valor;
this.id = id;
}
public String getConteudo() {
return conteudo;
}
public double getValor() {
return valor;
}
public int getId() {
return id;
}
public boolean isSelecionado() {
return selecionado;
}
public void setSelecionado(boolean selecionado) {
this.selecionado = selecionado;
}
}
Adapter:
public class AdapterProduto extends BaseAdapter {
private Context ctx;
private List<Produto> listaProdutos;
private EditText contagem;
private ImageView soma;
private int count;
public AdapterProduto(Context ctx, List<Produto> listaProdutos) {
this.ctx = ctx;
this.listaProdutos = listaProdutos;
}
@Override
public int getCount() {
return listaProdutos.size();
}
@Override
public Object getItem(int posicao) {
return listaProdutos.get(posicao);
}
@Override
public long getItemId(int posicao) {
return listaProdutos.get(posicao).getId();
}
@Override
public View getView(int posicao, View convertView, ViewGroup parent) {
Produto produto = listaProdutos.get(posicao);
View view = LayoutInflater.from(ctx).inflate(R.layout.layout_lista, null);
TextView texto = (TextView) view.findViewById(R.id.textViewLista);
ImageView soma = (ImageView) view.findViewById(R.id.ImagemAddProduto);
ImageView sub = (ImageView) view.findViewById(R.id.ImagemSubProduto);
ImageView excluir = (ImageView) view.findViewById(R.id.ImagemExcluir);
EditText total = (EditText) view.findViewById(R.id.contagemDePodutosDaLista);
//Setar os valores de imagens
texto.setText(produto.getConteudo());
soma.setImageResource(R.drawable.ic_add);
sub.setImageResource(R.drawable.ic_delete);
excluir.setImageResource(R.drawable.ic_trash);
//total.set
return view;
}
}
Class Produtos:
public class Produtos extends Activity {
private ArrayList<Produto> listaProduto;
private ListView listView;
private EditText contagem;
private ImageView soma;
private int count;
private View viewDosBotoes;
private AdapterProduto adapterProduto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.produtos);
Log.i("Produtos", "Entrou no metodo onCreate()");
listView = (ListView) findViewById(R.id.listViewProduto);
Log.i("Produtos", "Chamando o metodo preencherLista()");
viewDosBotoes = LayoutInflater.from(Produtos.this).inflate(R.layout.layout_lista, null);
preencheLista(viewDosBotoes);
//calculaQuantidadeDeItens(viewDosBotoes);
}
private void preencheLista(View view) {
listaProduto = new ArrayList<Produto>();
Produto produto1 = new Produto("Água 1L", 2.00, 1);
listaProduto.add(produto1);
Produto produto2 = new Produto("Coca-Cola 300ML", 4.75, 2);
listaProduto.add(produto2);
Produto produto3 = new Produto("Pastel 1UN", 2.50, 3);
listaProduto.add(produto3);
adapterProduto = new AdapterProduto(Produtos.this,
listaProduto);
listView.setAdapter(adapterProduto);
Log.i("Produtos", "Lista preenchida!");
Log.i("Produtos", "Chamando o método para calcular a quantidade de itens");
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Log.i("Produtos", "Preparando para fazer a contagem");
contagem = (EditText) viewDosBotoes.findViewById(R.id.contagemDePodutosDaLista);
soma = (ImageView) viewDosBotoes.findViewById(R.id.ImagemAddProduto);
Integer.parseInt(contagem.getText().toString());
count = count + 1;
contagem.setText(String.valueOf(count));
Toast.makeText(Produtos.this, "Click " + count, Toast.LENGTH_SHORT);
Log.i("Produtos", "Contagem bem sucedida!");
}
});
}
public View calculaQuantidadeDeItens(View viewDosBotoes) {
Log.i("Produtos", "Preparando para fazer a contagem 1");
contagem = (EditText) viewDosBotoes.findViewById(R.id.contagemDePodutosDaLista);
soma = (ImageView) viewDosBotoes.findViewById(R.id.ImagemAddProduto);
Log.i("Produtos", "Preparando para calcular a contagem 2");
soma.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view.getId() == soma.getId()) {
Integer.parseInt(contagem.getText().toString());
count = count + 1;
contagem.setText(String.valueOf(count));
Toast.makeText(Produtos.this, "Click " + count, Toast.LENGTH_SHORT).show();
Log.i("CalculoDaCompra", "Contagem bem sucedida!");
}
}
});
return viewDosBotoes;
}
}
produtos XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listViewProduto"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total: R$" />
<EditText
android:id="@+id/mostraTotalDaCompra"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<Button
android:id="@+id/botaoAddPedidoFinal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Finalizar Pedido" />
</LinearLayout>
layout_lista XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/textViewLista"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:text="@string/textview" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ImagemSubProduto"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:src="@drawable/ic_delete" />
<EditText
android:id="@+id/contagemDePodutosDaLista"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:numeric="integer"
android:text="0" />
<ImageView
android:id="@+id/ImagemAddProduto"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:src="@drawable/ic_add"/>
<ImageView
android:id="@+id/ImagemExcluir"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:src="@drawable/ic_trash" />
</LinearLayout>
</LinearLayout>