取消ListView默认的点击效果的方法:

在Listview中添加如下代码

android:listSelector="@android:color/transparent"

- 如果在listview中单独添加了一个view,并且想要只有该view不显示点击效果,方法是给该view设置背景色。

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){Logger.e("position="+position);if(position==0){Logger.d("addprogramdescription");TextViewtextView=newTextView(getActivity());ListView.LayoutParamslayoutParams=newListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT,ListView.LayoutParams.WRAP_CONTENT);textView.setLayoutParams(layoutParams);textView.setPadding(20,0,20,0);textView.setText(R.string.program_description);textView.setTextColor(getResources().getColor(R.color.black));textView.setTextSize(12);textView.setBackgroundColor(getResources().getColor(R.color.white));//只有该view没有点击效果。textView.setSelected(false);returntextView;}elseif(position==1){ImageViewimageView=newImageView(getActivity());ListView.LayoutParamslayoutParams=newListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT,ListView.LayoutParams.WRAP_CONTENT);imageView.setLayoutParams(layoutParams);imageView.setBackgroundResource(R.drawable.bar_next);returnimageView;}ViewprogramView=mInflater.inflate(R.layout.program_listview_part,null);ChannelItemprogram=mProgramItems.get(position);TextViewtime=(TextView)programView.findViewById(R.id.next_program_time_textview);time.setText(program.getPubDate());TextViewname=(TextView)programView.findViewById(R.id.next_program_name_textview);name.setText(program.getTitle());returnprogramView;}



在断开网络后点击原来Listview中的内容时,会报出如下错误。对应方法是,在网络请求失败后需要再次调用一次mListAdapter.notifyDataSetChanged();函数。

04-2715:09:53.16313398-13398/?E/AndroidRuntime﹕FATALEXCEPTION:mainjava.lang.IllegalStateException:ThecontentoftheadapterhaschangedbutListViewdidnotreceiveanotification.Makesurethecontentofyouradapterisnotmodifiedfromabackgroundthread,butonlyfromtheUIthread.[inListView(2131230833,classandroid.widget.ListView)withAdapter(classjp.nhkworldtv.android.ui.fragment.ProgramMainFragment$10)]atandroid.widget.ListView.layoutChildren(ListView.java:1770)atandroid.widget.AbsListView.onTouchEvent(AbsListView.java:3203)atandroid.widget.ListView.onTouchEvent(ListView.java:4089)atandroid.view.View.dispatchTouchEvent(View.java:5568)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2064)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1732)atandroid.widget.AbsListView.dispatchTouchEvent(AbsListView.java:6217)atandroid.widget.ListView.dispatchTouchEvent(ListView.java:4809)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2070)atandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1746)atcom.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1961)atcom.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1398)atandroid.app.Activity.dispatchTouchEvent(Activity.java:2428)atcom.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1909)atandroid.view.View.dispatchPointerEvent(View.java:5748)atandroid.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3165)atandroid.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2719)atandroid.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:951)atandroid.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2733)atandroid.os.Handler.dispatchMessage(Handler.java:99)atandroid.os.Looper.loop(Looper.java:154)atandroid.app.ActivityThread.main(ActivityThread.java:4974)atjava.lang.reflect.Method.invokeNative(NativeMethod)atjava.lang.reflect.Method.invoke(Method.java:511)atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)atdalvik.system.NativeStart.main(NativeMethod)


更多相关文章

  1. android桌面悬浮窗显示录屏时间控制效果
  2. Android手机客户端访问.NET服务器端的方法(1)
  3. 【转】android中onMeasure初看,深入理解布局之一!
  4. 利用GridView实现单选功能
  5. android的Jetpack的navigation原理详解
  6. 安卓 屏蔽子控件点击事件
  7. Android(安卓)数据存取到文件当中
  8. 0828 - 精简 Lua 绑定第一步
  9. Binary XML file line 2: Error inflating class

随机推荐

  1. Android的手势的保存
  2. 【Android基础】四种点击事件
  3. Android-Framework: Activity、Window、V
  4. windows android ndk环境搭建
  5. adt-bundle-mac 配置Cocos2d-x 注意事项
  6. 学习笔记 Android(安卓)LocalBroadcastMa
  7. Android(安卓)Thread interrupt 中断JAVA
  8. 详解Android(安卓)9.0 私有API禁用机制
  9. Android(安卓)Studio 关于高德地图的开发
  10. Android(安卓)内存泄漏检查工具LeakCanar