Minha Classe que lista os produtos
--
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582package
br.com.loadmobile.Fragments;
import
android.app.Activity;
import
android.app.AlertDialog;
import
android.app.ProgressDialog;
import
android.content.Context;
import
android.content.DialogInterface;
import
android.os.AsyncTask;
import
android.os.Bundle;
import
android.support.annotation.Nullable;
import
android.support.v4.app.Fragment;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.content.Intent;
import
android.support.v7.widget.LinearLayoutManager;
import
android.support.v7.widget.RecyclerView;
import
android.text.Editable;
import
android.text.TextWatcher;
import
android.util.Log;
import
android.view.ViewGroup;
import
android.widget.Button;
import
android.widget.TextView;
import
com.crashlytics.android.internal.ab;
import
com.rengwuxian.materialedittext.MaterialEditText;
import
java.math.BigDecimal;
import
java.util.ArrayList;
import
java.util.List;
import
br.com.loadmobile.Adapter.ProdutoAdapter;
import
br.com.loadmobile.DAO.ConfigFatuDAO;
import
br.com.loadmobile.DAO.PedidoItensDAO;
import
br.com.loadmobile.DAO.ProdutoDAO;
import
br.com.loadmobile.Interfaces.RecyclerViewOnClickListenerHack;
import
br.com.loadmobile.Serealizable.ConfigFatuSerial;
import
br.com.loadmobile.Serealizable.PedidoItemSerial;
import
br.com.loadmobile.Serealizable.ProdutoSerial;
import
br.com.loadmobile.utilits.AndroidUtils;
import
br.com.loadmobile.views.ContainerDetalhesProduto;
import
br.com.loadmobile.views.IncluirProduto;
import
br.com.loadmobile.views.R;
/**
* Created by TI on 15/04/2015.
*/
public
class
FragListaProduto
extends
Fragment
implements
RecyclerViewOnClickListenerHack {
private
RecyclerView mRecycledViewProduto;
private
Button mbtnPesquisaProduto;
private
MaterialEditText medtPesquisaProduto;
private
ProdutoSerial produto;
/*Esta lista é para limpar e depios passar para a lista lproduto*/
private
ArrayList<ProdutoSerial> lpro;
private
ArrayList<ConfigFatuSerial> aConfigFatu;
private
ConfigFatuSerial configFat;
private
TextView tvDescriProd, tvValorProd, tvEstoqueProd, tvUnidadeProd;
callbackListaProduto iCallbackListaProduto;
private
String tela =
""
;
private
String tabela =
""
;
private
ArrayList<PedidoItemSerial> itens;
private
ArrayList<PedidoItemSerial> pintaItens;
private
ProdutoAdapter adapter;
private
int
overallXScrooll =
0
;
@Override
public
View onCreateView(LayoutInflater inflater,
@Nullable
ViewGroup container,
@Nullable
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.pesquisa_geral, container,
false
);
mRecycledViewProduto = (RecyclerView) v.findViewById(R.id.recycledViewPesquisaGeral);
mbtnPesquisaProduto = (Button) v.findViewById(R.id.btPesquisaGeral);
medtPesquisaProduto = (MaterialEditText) v.findViewById(R.id.etPesquisaGeral);
tvDescriProd = (TextView) v.findViewById(R.id.tvDescricaoPesqGeral);
tvDescriProd.setText(R.string.descrProd);
/*Objetos*/
//lProduto = new ArrayList<ProdutoSerial>();
itens =
new
ArrayList<PedidoItemSerial>();
produto =
new
ProdutoSerial();
lpro =
new
ArrayList<ProdutoSerial>();
configFat =
new
ConfigFatuSerial();
aConfigFatu =
new
ArrayList<ConfigFatuSerial>();
pintaItens =
new
ArrayList<PedidoItemSerial>();
tvValorProd = (TextView) v.findViewById(R.id.tvPrecoProdutoPesqGeral);
tvValorProd.setText(R.string.valorVenda);
tvEstoqueProd = (TextView) v.findViewById(R.id.tvEstoquePesqGeral);
tvEstoqueProd.setText(R.string.estoqueDisponivel);
tvUnidadeProd = (TextView) v.findViewById(R.id.tvUnidadeProdutoPesqGeral);
tvUnidadeProd.setText(R.string.unidade_produto);
aConfigFatu =
new
ConfigFatuDAO(getActivity()).buscarConfigFatu();
/*Percorre as configuracoes para saber se e para exibir estoque zerado*/
for
(
int
i =
0
; i < aConfigFatu.size(); i++) {
configFat.setId_conffatu(aConfigFatu.get(i).getId_conffatu());
configFat.setBloqueiaFatuZerado(aConfigFatu.get(i).getBloqueiaFatuZerado());
}
Bundle args = getArguments();
if
(args !=
null
) {
/*Se o parametro nao for nulo preenche o objeto usuario com o usuario vindo da tela de menu*/
tela = args.getString(
"tela"
);
if
(tela.equals(
"pedido"
)) {
tabela = args.getString(
"tabela"
);
}
}
inicializaRecycledView();
actionPesquisa();
listaProduto();
new
ListaProtudoTask(getActivity()).execute(medtPesquisaProduto.getText().toString());
return
v;
}
private
void
inicializaRecycledView() {
mRecycledViewProduto.setHasFixedSize(
true
);
mRecycledViewProduto.setOnScrollListener(
new
RecyclerView.OnScrollListener() {
@Override
public
void
onScrollStateChanged(RecyclerView recyclerView,
int
newState) {
super
.onScrollStateChanged(recyclerView, newState);
}
@Override
public
void
onScrolled(RecyclerView recyclerView,
int
dx,
int
dy) {
super
.onScrolled(recyclerView, dx, dy);
LinearLayoutManager llm = (LinearLayoutManager) mRecycledViewProduto.getLayoutManager();
//ProdutoAdapter adapter = (ProdutoAdapter) mRecycledViewProduto.getAdapter();
overallXScrooll = overallXScrooll + dx;
Log.d(
"FragListaProduto "
,
" Overall x "
+ overallXScrooll);
}
});
LinearLayoutManager llm =
new
LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
mRecycledViewProduto.setLayoutManager(llm);
}
private
void
listaProduto() {
medtPesquisaProduto.addTextChangedListener(
new
TextWatcher() {
@Override
public
void
beforeTextChanged(CharSequence s,
int
start,
int
count,
int
after) {
}
@Override
public
void
onTextChanged(CharSequence s,
int
start,
int
before,
int
count) {
}
@Override
public
void
afterTextChanged(Editable s) {
if
(s.length() >=
3
) {
new
ListaProtudoTask(getActivity()).execute(medtPesquisaProduto.getText().toString());
}
}
});
}
private
void
actionPesquisa() {
mbtnPesquisaProduto.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
new
ListaProtudoTask(getActivity()).execute(medtPesquisaProduto.getText().toString());
}
});
}
@Override
public
void
onAttach(Activity context) {
super
.onAttach(context);
try
{
iCallbackListaProduto = (callbackListaProduto) context;
}
catch
(ClassCastException e) {
throw
new
ClassCastException(context.toString() +
"falta implementar o medoto de callback ListaProduto"
);
}
}
@Override
public
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
/*Retorna da Activiy incluir produto*/
if
(requestCode ==
1
&& resultCode == getActivity().RESULT_OK) {
try
{
if
(data.getExtras() !=
null
) {
PedidoItemSerial pi = (PedidoItemSerial) data.getSerializableExtra(
"item"
);
itens.add(pi);
}
}
catch
(Exception e) {
AndroidUtils.alertDialog(getActivity(),
"Erro ao listar dados do produto "
+ e.toString());
}
}
}
@Override
public
void
onResume() {
super
.onResume();
medtPesquisaProduto.requestFocus();
setDadosListaProduto();
adapterDados();
medtPesquisaProduto.setText(
""
);
}
@Override
public
void
onPause() {
super
.onPause();
iCallbackListaProduto.setListadeItens(itens);
}
public
void
setDadosListaProduto() {
try
{
if
(iCallbackListaProduto.getTabela() !=
null
) {
tabela = iCallbackListaProduto.getTabela();
}
else
{
tabela =
""
;
}
if
(iCallbackListaProduto.getTela() !=
null
) {
tela = iCallbackListaProduto.getTela();
}
else
{
tela =
""
;
}
}
catch
(Exception e) {
Log.e(
"ListaProduto "
,
" Erro ao setar tabela "
+ e.toString());
}
}
@Override
public
void
onClickListener(View view,
int
position) {
/*Se tela nao for nula e se for pedido a chamada foi feita pela tela de pedidos*/
if
(tela !=
null
) {
if
(tela.equals(
"pedido"
)) {
int
qtde = -
1
;
BigDecimal percAcrec =
new
BigDecimal(
0
);
BigDecimal perDesc =
new
BigDecimal(
0
);
BigDecimal vlrAcresc =
new
BigDecimal(
0
);
BigDecimal vlrDesc =
new
BigDecimal(
0
);
BigDecimal totalItem =
new
BigDecimal(
0
);
BigDecimal vlrunitario =
new
BigDecimal(
0
);
adapter = (ProdutoAdapter) mRecycledViewProduto.getAdapter();
produto = adapter.retornaUsuario(position);
Log.v(
"PesqUser nClickListener"
,
"Positiong "
+ position);
/*
* Verificar se o produto já foi adicionado ao pedido
*/
for
(
int
i =
0
; i < itens.size(); i++) {
PedidoItemSerial mi = itens.get(i);
if
(mi.getProduto().getcodProd() == lpro.get(position).getcodProd()) {
qtde = mi.getQtde().intValue();
percAcrec = mi.getPercentAcrescimo();
perDesc = mi.getPercentDesconto();
vlrAcresc = mi.getTotalAcrescimos();
vlrDesc = mi.getTotalDescontos();
totalItem = mi.getValorTotal();
vlrunitario = mi.getValorUnitario();
}
}
/*Fim do for que varre a lista e verifica se o produto se foi adicionado*/
if
(qtde >
0
) {
startActivityForResult(
new
Intent(getActivity(), IncluirProduto.
class
)
.putExtra(
"produto"
, lpro.get(position))
.putExtra(
"qtde"
, String.valueOf(qtde))
.putExtra(
"percDesc"
, perDesc)
.putExtra(
"percAcrec"
, percAcrec)
.putExtra(
"valorDesc"
, vlrDesc)
.putExtra(
"valorAcresc"
, vlrAcresc)
.putExtra(
"totalitem"
, totalItem)
/*Envia a tabela em uso para a inclusao do pedido*/
.putExtra(
"tabela"
, tabela)
.putExtra(
"valorunitario"
, vlrunitario),
1
);
}
else
{
startActivityForResult(
new
Intent(getActivity(),
IncluirProduto.
class
)
.putExtra(
"produto"
, lpro.get(position))
.putExtra(
"percDesc"
, perDesc)
.putExtra(
"percAcrec"
, percAcrec)
.putExtra(
"valorDesc"
, vlrDesc)
.putExtra(
"valorAcresc"
, vlrAcresc)
.putExtra(
"totalitem"
, totalItem)
/*Envia a tabela em uso para a inclusao do pedido*/
.putExtra(
"tabela"
, tabela)
.putExtra(
"valorunitario"
, vlrunitario),
1
);
}
/*Fim do else que verifica se quantidade e menor q zero*/
/*Fim do if que verifica se a tela e a tela de pedido*/
/*Se a tela for nulla ou nao for pedido a tela que chamou foi a tela de consulta*/
}
else
{
adapter = (ProdutoAdapter) mRecycledViewProduto.getAdapter();
produto = adapter.retornaUsuario(position);
Log.v(
"PesqUser nClickListener"
,
"Positiong "
+ position);
startActivity(
new
Intent(getActivity(), ContainerDetalhesProduto.
class
).putExtra(
"produto"
, produto));
}
}
}
private
void
adapterDados() {
adapter =
new
ProdutoAdapter(getActivity(), lpro, itens);
adapter.notifyDataSetChanged();
}
public
interface
callbackListaProduto {
public
String getTela();
public
String getTabela();
public
void
setListadeItens(ArrayList<PedidoItemSerial> itens);
}
public
class
ListaProtudoTask
extends
AsyncTask<String, String, ArrayList<ProdutoSerial>> {
private
static
final
String TAG =
"TaskPesquisaProduto"
;
private
Context ctx;
public
ListaProtudoTask(Context context) {
this
.ctx = context;
}
@Override
protected
void
onProgressUpdate(String... values) {
super
.onProgressUpdate(values);
Log.d(TAG,
"onProgressUpdate"
);
AlertDialog.Builder build =
new
AlertDialog.Builder(ctx);
build.setTitle(
"Atenção"
);
build.setMessage(
"Erro ao listar produtos: "
+ values[
0
]);
build.setNeutralButton(
"OK"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
dialog.cancel();
}
});
build.create().show();
}
@Override
protected
ArrayList<ProdutoSerial> doInBackground(String... params) {
try
{
if
(configFat.getBloqueiaFatuZerado().equals(
"S"
)) {
lpro =
new
ProdutoDAO(getActivity()).busca(
"%"
+ params[
0
].toUpperCase() +
"%"
,
0
);
return
lpro;
}
else
if
(configFat.getBloqueiaFatuZerado().equals(
"N"
)) {
lpro =
new
ProdutoDAO(getActivity()).busca(
"%"
+ params[
0
].toUpperCase() +
"%"
,
1
);
return
lpro;
}
}
catch
(Exception e) {
Log.e(TAG, e.getMessage(), e);
publishProgress(e.getMessage());
}
return
null
;
}
@Override
protected
void
onPostExecute(ArrayList<ProdutoSerial> prod) {
/*Verifica se a variavel tela e null*/
if
(tela !=
null
) {
if
(tela.equals(
"pedido"
)) {
Activity context = getActivity();
if
(context !=
null
) {
adapter =
new
ProdutoAdapter(context, prod, produto, tabela, itens);
adapter.setRecyclerViewOnClickListenerHack(FragListaProduto.
this
);
mRecycledViewProduto.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
else
{
Activity context = getActivity();
if
(context !=
null
) {
adapter =
new
ProdutoAdapter(context, prod, produto);
adapter.setRecyclerViewOnClickListenerHack(FragListaProduto.
this
);
mRecycledViewProduto.setAdapter(adapter);
}
}
/*Fim do else que informa que a variavel pedido esta vazia*/
}
/*}Fim do if que verifica se a variavel tela e null*/
}
}
public
class
pintarProdutos
extends
AsyncTask<Void, Void, ArrayList<ProdutoSerial>> {
private
Context context;
public
pintarProdutos(Context ctx) {
this
.context = ctx;
}
@Override
protected
ArrayList<ProdutoSerial> doInBackground(Void... params) {
try
{
return
lpro;
}
catch
(Exception e) {
Log.e(
"PintarItens "
,
" Erro ao pintar itens "
+ e.getMessage(), e);
}
return
null
;
}
@Override
protected
void
onPostExecute(ArrayList<ProdutoSerial> produtoSerials) {
if
(tela !=
null
) {
if
(tela.equals(
"pedido"
)) {
Activity context = getActivity();
if
(context !=
null
) {
adapter =
new
ProdutoAdapter(context, produtoSerials, produto, tabela, itens);
adapter.setRecyclerViewOnClickListenerHack(FragListaProduto.
this
);
mRecycledViewProduto.setAdapter(adapter);
}
}
else
{
Activity context = getActivity();
if
(context !=
null
) {
adapter =
new
ProdutoAdapter(context, produtoSerials, produto);
adapter.setRecyclerViewOnClickListenerHack(FragListaProduto.
this
);
mRecycledViewProduto.setAdapter(adapter);
}
}
}
}
}
}
Adapter de Produtos
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327package
br.com.loadmobile.Adapter;
import
android.content.Context;
import
android.content.res.Resources;
import
android.graphics.Bitmap;
import
android.graphics.BitmapFactory;
import
android.graphics.BitmapShader;
import
android.graphics.Canvas;
import
android.graphics.Color;
import
android.graphics.CornerPathEffect;
import
android.graphics.Paint;
import
android.graphics.PorterDuff;
import
android.graphics.PorterDuffXfermode;
import
android.graphics.Shader;
import
android.support.v7.widget.RecyclerView;
import
android.util.Log;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.ImageView;
import
android.widget.TextView;
import
java.util.ArrayList;
import
java.util.List;
import
br.com.loadmobile.DAO.ConfigFatuDAO;
import
br.com.loadmobile.DAO.ConfigGeralDAO;
import
br.com.loadmobile.Interfaces.RecyclerViewOnClickListenerHack;
import
br.com.loadmobile.Serealizable.ConfigFatuSerial;
import
br.com.loadmobile.Serealizable.ConfigGeralSerial;
import
br.com.loadmobile.Serealizable.PedidoItemSerial;
import
br.com.loadmobile.Serealizable.ProdutoSerial;
import
br.com.loadmobile.utilits.AndroidUtils;
import
br.com.loadmobile.utilits.Numeric;
import
br.com.loadmobile.views.R;
/**
* Created by TI on 14/04/2015.
*/
public
class
ProdutoAdapter
extends
RecyclerView.Adapter<ProdutoAdapter.MyViewHolder> {
private
List<ProdutoSerial> mList;
private
LayoutInflater mLayoutInflater;
private
RecyclerViewOnClickListenerHack mRecyclerViewOnClickListenerHack;
private
ProdutoSerial mProduto;
private
ConfigFatuSerial confFatu;
private
ArrayList<ConfigFatuSerial> aConfiFatu;
private
ConfigGeralSerial configGeral;
private
ArrayList<ConfigGeralSerial> aConfigGeral;
private
Context context;
private
String tabela =
""
;
private
ArrayList<PedidoItemSerial> itensPedido;
private
int
id_produto;
//
private
String caminhofoto;
private
int
item;
private
LayoutInflater mLayoutInflater2;
/*Construtor para a lista de produtos quando vir da tela de consulta*/
public
ProdutoAdapter(Context c, List<ProdutoSerial> l, ProdutoSerial prod) {
mList = l;
mLayoutInflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mProduto = prod;
context = c;
}
/*Construtor para a lista de produtos quando vir da tela de pedido*/
public
ProdutoAdapter(Context c, List<ProdutoSerial> l, ProdutoSerial prod, String tab, ArrayList<PedidoItemSerial> itens) {
mList = l;
mLayoutInflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mProduto = prod;
context = c;
tabela = tab;
itensPedido = itens;
}
@Override
public
MyViewHolder onCreateViewHolder(ViewGroup viewGroup,
int
viewType) {
Log.i(
"LOG"
,
"onCreateViewHolder()"
);
View v = mLayoutInflater.inflate(R.layout.pesquisa_produto, viewGroup,
false
);
MyViewHolder mvh =
new
MyViewHolder(v);
return
mvh;
}
@Override
public
void
onBindViewHolder(MyViewHolder myViewHolder,
int
position) {
Log.i(
"LOG"
,
"onBindViewHolder()"
);
confFatu =
new
ConfigFatuSerial();
aConfiFatu =
new
ArrayList<ConfigFatuSerial>();
aConfiFatu =
new
ConfigFatuDAO(context).buscarConfigFatu();
configGeral =
new
ConfigGeralSerial();
aConfigGeral =
new
ArrayList<ConfigGeralSerial>();
aConfigGeral =
new
ConfigGeralDAO(context).pesqConfigGeral();
for
(
int
i =
0
; i < aConfiFatu.size(); i++) {
confFatu.setId_conffatu(aConfiFatu.get(i).getId_conffatu());
confFatu.setBloqueiaFatuZerado(aConfiFatu.get(i).getBloqueiaFatuZerado());
confFatu.setBloqueaEstoqueInfe(aConfiFatu.get(i).getBloqueaEstoqueInfe());
confFatu.setPeraterarTabela(aConfiFatu.get(i).getPeraterarTabela());
confFatu.getSaida().setCodSaida(aConfiFatu.get(i).getSaida().getCodSaida());
confFatu.setPeralterarSaida(aConfiFatu.get(i).getPeralterarSaida());
confFatu.setPeralterarcPag(aConfiFatu.get(i).getPeralterarcPag());
confFatu.setTabelaPadrao(aConfiFatu.get(i).getTabelaPadrao());
}
for
(
int
i =
0
; i < aConfigGeral.size(); i++) {
configGeral.setCasaDecimalVenda(aConfigGeral.get(i).getCasaDecimalVenda());
configGeral.setCasaDecimalQtde(aConfigGeral.get(i).getCasaDecimalQtde());
}
/*Passa o id do produto como parametro para a variavel id_produto*/
id_produto = mList.get(position).getId_produto();
if
(isIncludeProduto(id_produto)) {
myViewHolder.tvDescProd.setTextColor(context.getResources().getColor(R.color.red));
myViewHolder.tvValorProd.setTextColor(context.getResources().getColor(R.color.red));
myViewHolder.tvEstoqueProd.setTextColor(context.getResources().getColor(R.color.red));
myViewHolder.tvUnidadeProd.setTextColor(context.getResources().getColor(R.color.red));
}
else
{
myViewHolder.tvDescProd.setTextColor(context.getResources().getColor(R.color.black));
myViewHolder.tvValorProd.setTextColor(context.getResources().getColor(R.color.black));
myViewHolder.tvEstoqueProd.setTextColor(context.getResources().getColor(R.color.black));
myViewHolder.tvUnidadeProd.setTextColor(context.getResources().getColor(R.color.black));
}
if
(mList !=
null
) {
/*Verifica se o produto tem foto informada*/
if
(mList.get(position).getFotoProd() ==
null
) {
/*Se nao tiver seta o icone do Android*/
Bitmap bmpResource = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);
if
(bmpResource !=
null
) {
myViewHolder.imgProd.setImageBitmap(bmpResource);
}
else
{
myViewHolder.imgProd.setImageResource(R.drawable.ic_launcher);
}
/*Verifica se a lista nao esta nula*/
}
else
if
(mList.get(position).getFotoProd() !=
null
) {
/*Se nao estiver nula verifica se nao esta vazia*/
if
(!mList.get(position).getFotoProd().equals(
""
)) {
String fotoProduto = mList.get(position).getFotoProd();
Log.d(
"ProdutoAdapter "
,
"Caminho da foto "
+ fotoProduto);
/*Se tiver seta a foto*/
Bitmap bimpafoto = AndroidUtils.lerArquivo(mList.get(position).getFotoProd(),
100
,
100
);
/*Verifica se o bitmap nao e nullo*/
if
(bimpafoto !=
null
) {
myViewHolder.imgProd.setImageBitmap(bimpafoto);
}
else
{
myViewHolder.imgProd.setImageResource(R.drawable.ic_launcher);
}
/*Fim do if que verifica se o bitmap e nulo*/
}
/*Fim do if que verifica se a foto nao esta vazia*/
else
{
myViewHolder.imgProd.setImageResource(R.drawable.ic_launcher);
}
/*Fim do else que se a lista estiver vazia seta um resource*/
}
/*Fim do else que verifica se o compo foto nao esta nulo*/
}
/*Fim do if que verifica se a lista é nula*/
/*Descricao do produto*/
myViewHolder.tvDescProd.setText(mList.get(position).getDescricao());
/*Verifica se a tabela esta vindo do pedido ou da configuracao padrao*/
if
(tabela !=
null
) {
if
(tabela.equals(
"1"
)) {
myViewHolder.tvValorProd.setText(Numeric.format(mList.get(position).getPrevenda1(), configGeral.getCasaDecimalVenda()));
}
else
if
(tabela.equals(
"2"
)) {
myViewHolder.tvValorProd.setText(Numeric.format(mList.get(position).getPrevenda2(), configGeral.getCasaDecimalVenda()));
/*Se a variavel tabela estiver vazia quer dizer que a tela que chamou o construtor foi a consulta de produto
* entao usa a configuracao dos parametros
* */
}
else
if
(tabela.equals(
""
)) {
/*Tabela 1*/
if
(confFatu.getTabelaPadrao() ==
0
) {
myViewHolder.tvValorProd.setText(Numeric.format(mList.get(position).getPrevenda1(), configGeral.getCasaDecimalVenda()));
}
else
if
(confFatu.getTabelaPadrao() ==
1
) {
myViewHolder.tvValorProd.setText(Numeric.format(mList.get(position).getPrevenda2(), configGeral.getCasaDecimalVenda()));
}
}
/*Fim do if do else que verifica se a variavel tabela esta vazia*/
}
/*Fim do if que verifica se a variavel tabela e null*/
myViewHolder.tvEstoqueProd.setText(Numeric.format(mList.get(position).getEstoque(), configGeral.getCasaDecimalQtde()));
myViewHolder.tvUnidadeProd.setText(mList.get(position).getUnidade());
}
@Override
public
int
getItemCount() {
return
mList.size();
}
public
void
setRecyclerViewOnClickListenerHack(RecyclerViewOnClickListenerHack r) {
mRecyclerViewOnClickListenerHack = r;
}
public
void
addListItem(ProdutoSerial p,
int
positon) {
mList.add(p);
notifyItemInserted(positon);
}
public
ProdutoSerial retornaUsuario(
int
positon) {
mProduto = mList.get(positon);
notifyItemChanged(positon);
return
mProduto;
}
/*Metodo para verifica se ja existe o item no pedido*/
private
boolean
isIncludeProduto(
int
idProduto) {
if
(itensPedido !=
null
) {
/*Varrea a lista de itens ja inclusos no pedido*/
for
(
int
i =
0
; i < itensPedido.size(); i++) {
/*Verifica se exite algump produto na lista pelo id*/
ProdutoSerial prod = itensPedido.get(i).getProduto();
/*Se ouver retorna true*/
if
(prod.getId_produto() == idProduto) {
return
true
;
}
/*Fim do fi que verifica se o id do produto é igual ao ID passado como parametro*/
}
/*Fim do for que varrea a lista de itens*/
}
return
false
;
}
public
class
MyViewHolder
extends
RecyclerView.ViewHolder
implements
View.OnClickListener {
public
com.pkmmte.view.CircularImageView imgProd;
public
TextView tvDescProd;
public
TextView tvValorProd;
public
TextView tvEstoqueProd;
public
TextView tvUnidadeProd;
public
MyViewHolder(View itemView) {
super
(itemView);
imgProd = (com.pkmmte.view.CircularImageView) itemView.findViewById(R.id.imgProdPesqProd);
tvDescProd = (TextView) itemView.findViewById(R.id.tvDescProdPesqProd);
tvValorProd = (TextView) itemView.findViewById(R.id.tvValorProdPesqProd);
tvEstoqueProd = (TextView) itemView.findViewById(R.id.tvEstoqueProdPesqProd);
tvUnidadeProd = (TextView) itemView.findViewById(R.id.tvUnidadeProdPesqProd);
itemView.setOnClickListener(
this
);
}
@Override
public
void
onClick(View v) {
if
(mRecyclerViewOnClickListenerHack !=
null
) {
mRecyclerViewOnClickListenerHack.onClickListener(v, getAdapterPosition());
}
}
}
}
Eu preciso fazer com que a cor dos itens dentro da lista de itens do pedido mudem ser ter que recarregar toda a lista no onResume.
2015-11-24 9:35 GMT-02:00 Lucas de Almeida Marciano <lucas.almeida.marciano@gmail.com>:
Depende de como VC ta implementando, posta o código para podermos te ajudar melhor
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
0 comentários:
Postar um comentário