自己做项目中遇到的一些常见问题及解决方法

1) 数据来自于服务器和数据库, 可能出现FC问题

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业昭苏免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

日志: java.lang.IllegalStateException: The content of the adapter has changed but                 ListView did not receive a notification. Make sure the content of your adapter is not   modified from a background thread, but only from the UI thread.

原因: adapter中的数据(List)被改变,如果较长时间(几十毫秒)没有通知ListView

解决思路: list一旦改变,立即通知ListView

2) Unable to resolve target 'android-14'

原因: 开发者开发项目的环境(Android版本)不同,

解决: 修改Android编译版本

3) Found 2 versions of android-support-v4.jar in the dependency list      

原因: 项目和库的supportv4.jar冲突

解决: 删除项目中的jar包,保留库中的jar(最新)

4)在Activity的类中声明成员变量, String[] menuStr = getResources().getStringArray(R.array.menu_str);

运行时抛出空指针异常

背景知识: 类的初始化顺序,先成员再构造.

原因: 在初始化类的成员变量时出错

解决: 所有的资源, getResource()方法必须在onCreate中调用

5) 切换滑动菜单, 滑动Tab中的片段无法显示

原因: // 注意: 在Fragment中必须使用childFragmentManger

FragmentManager fm = getChildFragmentManager();

6) 无法联想到getChildFragmentManager()

原因: supportV4包版本较旧

从目录中拷贝: \adt-bundle-windows-x86-20131030\sdk\extras\android\support\v4\android-support-v4.jar

7) 解决滑动菜单和ViewPager水平滑动事件冲突问题

public void setMenuDrawerEnable(boolean enable) {

if (enable) {

mDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);

} else {

mDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_BEZEL);

}

}

8)menudrawer与ViewPager和banner之间的嵌套冲突问题(2.3/和滑动菜单冲突)

   原因: 内层控件得到事件, 然后事件会传递到外层控件和布局

   思路:

   a) 直接将ChildViewPager.java文件导入到应用中

   b) 将

       android:id="@+id/pager"

       android:layout_width="match_parent"

       android:layout_height="140dp"

       android:background="#C0C0C0" >

       

   修改成

       

       android:id="@+id/pager"

       android:layout_width="match_parent"

       android:layout_height="140dp"

       android:background="#C0C0C0" >

       

   c) 在成员变量中将private ViewPager mPager改为private ChildViewPager mPager;

   d)在initViewPager(layout)实现mpager的监听事件implements OnSingleTouchListener

      mPager.setOnSingleTouchListener(this)

   e)重写onsingletouch就可以实现判断是哪张图片的监听事件了

      @Override

      public void onSingleTouch() {

      int currentItem = mPager.getCurrentItem();

      Toast.makeText(getActivity(), "touchtouch"+currentItem%5,   Toast.LENGTH_SHORT).show;}


名称栏目:自己做项目中遇到的一些常见问题及解决方法
本文来源:http://cdiso.cn/article/gccdeg.html

其他资讯