Se vc marcar as linhas que são mostradas na mensagem de erro, até posso tentar ajudar.
2013/10/23 Matheus Henrique da Silva <matheustargaryen@gmail.com>
--A classe:public class ItemPizza extends ItemCardapio {HashMap<String, Double> preços;public ItemPizza(long id, int tipo, String nome) {super(id, tipo, nome);preço = null;preços = new HashMap<String, Double>();}public void setPreço(String k, Double p) {preços.put(k, p);}public Double getPreço(String key) {return preços.get(key);}}O fragmento que exibe a lista:public class CardapioListFragment extends Fragment implementsOnItemClickListener {private int tipo;private List<ItemCardapio> lista;private ListView lv;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);tipo = getArguments().getInt(CardapioActivity.EXTRA_TIPO_ITEM);popularLista(tipo);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View v = inflater.inflate(R.layout.listview_layout, null);lv = (ListView) v.findViewById(R.id.listview);lv.setAdapter(new Cardapio_Adapter(getActivity(), lista));lv.setOnItemClickListener(this);return v;}void popularLista(int tipo) {lista = new ArrayList<ItemCardapio>();try {switch (tipo) {case CardapioActivity.TIPO_PIZZA:lista = CardapioActivity.db.getPizzas();break;case CardapioActivity.TIPO_PIZZA_DOCE:lista = CardapioActivity.db.getPizzasDoces();break;case CardapioActivity.TIPO_MASSA:lista = CardapioActivity.db.getMassas();break;default:throw new JSONException("Erro ao popular a lista, CardapioListFragment.popularLista();");}} catch (JSONException e) {e.printStackTrace();}}@Overridepublic void onItemClick(AdapterView<?> adapter, View view, int pos, long id) {if (tipo == CardapioActivity.TIPO_MASSA) {ItemCardapio item = lista.get(pos);PedidoMassaDialog dialog = PedidoMassaDialog.newInstance(item);dialog.show(getFragmentManager(), null);} else {ItemPizza item = (ItemPizza) lista.get(pos);Toast.makeText(getActivity(),String.valueOf(item.getPreço(CardapioActivity.EXTRA_PREÇO_M)),Toast.LENGTH_LONG).show();PedidoPizzaDialog dialog = PedidoPizzaDialog.newInstance(item);dialog.show(getFragmentManager(), null);}}}
O adapter:public class Cardapio_Adapter extends BaseAdapter {Context context;List<ItemCardapio> lista;List<ItemPizza> listapizza;public Cardapio_Adapter(Context context, List<ItemCardapio> lista) {this.context = context;this.lista = lista;}@Overridepublic int getCount() {return lista.size();}@Overridepublic Object getItem(int arg0) {return lista.get(arg0);}@Overridepublic long getItemId(int arg0) {return lista.get(arg0).getId();}@Overridepublic View getView(int arg0, View view, ViewGroup viewgroup) {ItemCardapio item = (ItemCardapio) getItem(arg0);LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);view = inflater.inflate(R.layout.item_menu_layout, null);TextView nome = (TextView) view.findViewById(R.id.text_label_menu);TextView desc = (TextView) view.findViewById(R.id.text_desc_menu);nome.setText(item.getNome());desc.setText(item.getDesc());if (item.getTipo() == CardapioActivity.TIPO_PIZZA|| item.getTipo() == CardapioActivity.TIPO_PIZZA_DOCE) {return view;} else {TextView preco = (TextView) view.findViewById(R.id.preco_item_lista);preco.setText("R$ " + item.getPreço());return view;}}}
Onde as listas estao sendo criadas:public List<ItemCardapio> getPizzas() throws JSONException {return testeLista(CardapioActivity.TIPO_PIZZA);}public List<ItemCardapio> getPizzasDoces() throws JSONException {return testeLista(CardapioActivity.TIPO_PIZZA_DOCE);}// ======================MASSASpublic List<ItemCardapio> getMassas() throws JSONException {return testeLista(CardapioActivity.TIPO_MASSA);}
public List<ItemCardapio> testeLista(int tipo) {lista = new ArrayList<ItemCardapio>();if (tipo == CardapioActivity.TIPO_PIZZA|| tipo == CardapioActivity.TIPO_PIZZA_DOCE) {for (int i = 0; i < 10; i++) {ItemPizza item = new ItemPizza(i + 100, tipo, "Item de Teste "+ i);item.setDesc("Descrição do item " + i);item.setPreço(CardapioActivity.EXTRA_PREÇO_P, 10.0);item.setPreço(CardapioActivity.EXTRA_PREÇO_M, 20.0);item.setPreço(CardapioActivity.EXTRA_PREÇO_G, 30.0);item.setPreço(CardapioActivity.EXTRA_PREÇO_F, 40.0);lista.add(item);}return lista;} else {for (int i = 0; i < 10; i++) {ItemCardapio item = new ItemCardapio(i + 100, tipo,"Item de Teste " + i);item.setDesc("Descrição do item " + i);item.setPreço(25.00);lista.add(item);}return lista;}}
Quando eu clico na lista de pizzas ou pizzas doces, na hora de instanciar o PedidoPizzaDialog da o seguinte conjunto de erros:10-23 17:49:38.452: E/AndroidRuntime(1668): FATAL EXCEPTION: main10-23 17:49:38.452: E/AndroidRuntime(1668): java.lang.NullPointerException10-23 17:49:38.452: E/AndroidRuntime(1668): at pizzaria.lafornalha.fragment.PedidoPizzaDialog.<init>(PedidoPizzaDialog.java:48)10-23 17:49:38.452: E/AndroidRuntime(1668): at pizzaria.lafornalha.fragment.PedidoPizzaDialog.newInstance(PedidoPizzaDialog.java:26)10-23 17:49:38.452: E/AndroidRuntime(1668): at pizzaria.lafornalha.fragment.CardapioListFragment.onItemClick(CardapioListFragment.java:86)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.widget.AdapterView.performItemClick(AdapterView.java:292)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.widget.AbsListView.performItemClick(AbsListView.java:1058)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.widget.AbsListView$1.run(AbsListView.java:3168)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.os.Handler.handleCallback(Handler.java:605)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.os.Handler.dispatchMessage(Handler.java:92)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.os.Looper.loop(Looper.java:137)10-23 17:49:38.452: E/AndroidRuntime(1668): at android.app.ActivityThread.main(ActivityThread.java:4340)10-23 17:49:38.452: E/AndroidRuntime(1668): at java.lang.reflect.Method.invokeNative(Native Method)10-23 17:49:38.452: E/AndroidRuntime(1668): at java.lang.reflect.Method.invoke(Method.java:511)10-23 17:49:38.452: E/AndroidRuntime(1668): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)10-23 17:49:38.452: E/AndroidRuntime(1668): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)10-23 17:49:38.452: E/AndroidRuntime(1668): at dalvik.system.NativeStart.main(Native Method)
Já estou a varias horas nisto. Por favor alguém me ajude.
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/groups/opt_out.
--
Henrique Nogueira de Melo
Analista e Arquiteto de Software
Analista e Arquiteto de Software
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/groups/opt_out.






0 comentários:
Postar um comentário