Estou fazendo assim no meu construtor:
public AdapterMessageListView(int myId, int idContact, Context context, ArrayList<MessageListView> itens) {
//Id do usuario
this.myId = myId;
//Id do contato
this.idContact = idContact;
//Itens que preencherão o listview
this.itens = itens;
//responsavel por pegar o Layout do item.
mInflater = LayoutInflater.from(context);
}
Em 28 de dezembro de 2012 13:49, Ricardo <ricardobatistaalmeida@gmail.com> escreveu:
O seu inflater esta sendo carregado no construtor do seu adaper ?Ex:--public SeuAdapter(Context context, List<Object> pObjects) {this.cabecario = pObjects;this.context = context;inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);}Em 28 de dezembro de 2012 12:05, Diogo Henrique <diogjp10@gmail.com> escreveu:
Gabriel, em meus BaseAdapter eu sempre faço como consta no livro do Ricardo... segue o método getView de um... como você pode ver tem uma comparação feita pra saber se a View e nulla... se quiser mais detalhes e só falar.... você fez o debug ?@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = inflater.inflate(R.layout.list, null); holder = new ViewHolder(); holder.mTitleText = (TextView) convertView.findViewById(R.id.t_name); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } Onibus onibus = lista_onibus.get(position); holder.mTitleText.setText("" + onibus.getNumero() +" - " + onibus.getTitulo() + " passa la") ; return convertView; } static class ViewHolder { TextView mTitleText; }--
Em 28 de dezembro de 2012 11:34, Gabriel Augusto <gabrielaugustodm@gmail.com> escreveu:Estou obtendo o seguinte Log:12-27 17:50:35.304: E/AndroidRuntime(32131): FATAL EXCEPTION: main12-27 17:50:35.304: E/AndroidRuntime(32131): java.lang.NullPointerException12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.ListView.setupChild(ListView.java:1818)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.ListView.makeAndAddView(ListView.java:1796)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.ListView.fillSpecific(ListView.java:1338)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.ListView.layoutChildren(ListView.java:1636)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.AbsListView.onLayout(AbsListView.java:1294)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.View.layout(View.java:7175)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.View.layout(View.java:7175)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.View.layout(View.java:7175)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.View.layout(View.java:7175)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.ViewRoot.performTraversals(ViewRoot.java:1146)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.view.ViewRoot.handleMessage(ViewRoot.java:1865)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.os.Handler.dispatchMessage(Handler.java:99)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.os.Looper.loop(Looper.java:130)12-27 17:50:35.304: E/AndroidRuntime(32131): at android.app.ActivityThread.main(ActivityThread.java:3687)12-27 17:50:35.304: E/AndroidRuntime(32131): at java.lang.reflect.Method.invokeNative(Native Method)12-27 17:50:35.304: E/AndroidRuntime(32131): at java.lang.reflect.Method.invoke(Method.java:507)12-27 17:50:35.304: E/AndroidRuntime(32131): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)12-27 17:50:35.304: E/AndroidRuntime(32131): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)12-27 17:50:35.304: E/AndroidRuntime(32131): at dalvik.system.NativeStart.main(Native Method)Pelo que vi a NullPointer está ocorrendo possivelmente nesse pedaço de código:Tenho esse pedaço de código, que esta no getView de um BaseAdapter:public View getView(int position, View view, ViewGroup parent) {try {// Infla o layout de acordo com a msg enviada (Recebida/Enviada)if ((itens.get(position).getIdFrom() == myId) && (itens.get(position).getIdTo() == idContact)) {Log.d(TAG, "Mensagem enviada para esse contato: " + itens.get(position).getMensagem());view = mInflater.inflate(R.layout.chat_msg_sent, null);((TextView) view.findViewById(R.id.txt_msg_sent)).setText(itens.get(position).getMensagem());((TextView) view.findViewById(R.id.txt_status_sent)).setText("Enviada " + itens.get(position).getDate());}if ((itens.get(position).getIdFrom() == idContact) && (itens.get(position).getIdTo() == myId)) {Log.d(TAG, "Mensagem recebida desse contato: " + itens.get(position).getMensagem());view = mInflater.inflate(R.layout.chat_msg_received, null);((TextView) view.findViewById(R.id.txt_msg_rec)).setText(itens.get(position).getMensagem());((TextView) view.findViewById(R.id.txt_status_rec)).setText("Recebida " + itens.get(position).getDate());}} catch (Exception e) {Log.e(TAG, e.getMessage());}}Já me certifiquei de que todos os valores que uso não estão nulos, porém ainda assim persiste a NullPointer. Já estou a uns 2 dias empacado nisso e estou ficando bastante desesperado para resolver.. Por favor, se alguem tiver alguma experiência com BaseAdapter e puder me ajudar eu agradeceria!--
Att,Gabriel Augusto--
--
Ricardo B. Almeida
Analista Desenvolvedor Java
Tel:96071-5684
Att,
Gabriel Augusto
013 97940055
0 comentários:
Postar um comentário