我正在处理消息传递应用程序,当收到的消息在列表中更新时,我想保持列表视图项全部突出显示,直到用户点击它们以向用户显示这些是他的新消息。每次收到消息时,它都会在列表视图的位置0更新,我想突出显示列表视图的0位置,我正在使用:
adapter.insert(message, 0);
ArrayAdapter<Message> adap = new ArrayAdapter<Message>(getActivity(), android.R.layout.simple_list_item_1) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = super.getView(0, convertView, parent);
itemView.setBackgroundColor(0xA0FF8000); // orange
return itemView;
}
};
adapter.notifyDataSetChanged();
收到邮件后,我的应用会给我错误:
12-26 14:48:20.891: E/AndroidRuntime(29012): FATAL EXCEPTION: main
12-26 14:48:20.891: E/AndroidRuntime(29012): java.lang.RuntimeException: Error receiving broadcast Intent { act=soft.b.peopleassist flg=0x10 (has extras) } in soft.b.peopleassist.Receive$1@41cc2b50
12-26 14:48:20.891: E/AndroidRuntime(29012): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:795)
12-26 14:48:20.891: E/AndroidRuntime(29012): at android.os.Handler.handleCallback(Handler.java:615)
12-26 14:48:20.891: E/AndroidRuntime(29012): at android.os.Handler.dispatchMessage(Handler.java:92)
12-26 14:48:20.891: E/AndroidRuntime(29012): at android.os.Looper.loop(Looper.java:153)
12-26 14:48:20.891: E/AndroidRuntime(29012): at android.app.ActivityThread.main(ActivityThread.java:5000)
12-26 14:48:20.891: E/AndroidRuntime(29012): at java.lang.reflect.Method.invokeNative(Native Method)
12-26 14:48:20.891: E/AndroidRuntime(29012): at java.lang.reflect.Method.invoke(Method.java:511)
12-26 14:48:20.891: E/AndroidRuntime(29012): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
请帮助!!!
答案 0 :(得分:0)
你不应该调用getView()方法,这就是它抛出错误的原因。 您似乎没有将新适配器设置为列表..!