保持列表视图项突出显示

时间:2013-12-26 09:43:46

标签: java android listview android-listview android-listfragment

我正在处理消息传递应用程序,当收到的消息在列表中更新时,我想保持列表视图项全部突出显示,直到用户点击它们以向用户显示这些是他的新消息。每次收到消息时,它都会在列表视图的位置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)

请帮助!!!

1 个答案:

答案 0 :(得分:0)

你不应该调用getView()方法,这就是它抛出错误的原因。 您似乎没有将新适配器设置为列表..!