项目BUG
2015-06-11 18:06
197 查看
1.cdv.nanan.mobilestation.ui.fragment.AbsListFragment$ViewHolder cannot be cast to
cdv.nanan.mobilestation.ui.fragment.AbsListFragment$RecommondViewHolder
if(type.equals("list") && position==0){
recommondViewHolder = (RecommondViewHolder)convertView.getTag();
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
2.java.lang.IndexOutOfBoundsException: Invalid index 15, size is 15
@Override
public int getCount() {
if(recommendList.size() <= 0){
return data == null?0:data.size();
}else{
return data == null?0:data.size()+1;
}
}
@Override
public Object getItem(int position) {
if(recommendList.size() <= 0 ){
return data.get(position);
}else if(recommendList.size()>0 && position == 0){
return recommendList.get(position);
}else{
return data.get(position -1);
}
}
3.逻辑判定类型 有问题!
4.java.lang.IndexOutOfBoundsException: Invalid index 15, size is 15
2中布局时 对应的position 问题
5.TabPageIndicator 动态刷新数据
6.建立表 要用空格!
public void onCreate(SQLiteDatabase db) {
// TODO 创建数据库后,对数据库的操作
String sql = "create table if not exists "+TABLE_CHANNEL +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
ID + " INTEGER , " +
NAME + " TEXT , " +
TYPE + " TEXT ," +
ORDERID + " INTEGER , " +
SELECTED + " SELECTED)";
db.execSQL(sql);
}
7.圆点添加 动态布局
(1).xml 中 设置成match_parent
<RelativeLayout
android:id="@+id/relative_recommend_item"
android:layout_width="match_parent"
android:layout_height="160dp"
android:orientation="vertical" >
<cdv.nanan.mobilestation.view.UGallery
android:id="@+id/recomemd_gallery"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
<LinearLayout
android:id="@+id/change_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical" >
<LinearLayout
android:id="@+id/point_layout"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
</RelativeLayout>
(2) point_layout在java代码中动态设置重力位置Grivaty才会有效果
if(recommendList.size() > 0 && position == 0){
viewHolder.mRecommendItem.setVisibility(View.VISIBLE);
viewHolder.mNormalItem.setVisibility(View.GONE);
//圆点初始化 动态添加
viewHolder.imgs = new ImageView[recommendList.size()];
viewHolder.layout.setGravity(Gravity.CENTER_HORIZONTAL);
viewHolder.layout.removeAllViews(); // 刷新
for(int i = 0; i< recommendList.size();i++){
viewHolder.imgs[i] = new ImageView(mContext);
if(i == 0)
viewHolder.imgs[i].setBackgroundResource
(R.drawable.selectedflag);
else
viewHolder.imgs[i].setBackgroundResource
(R.drawable.unselectedflag);
viewHolder.layout.addView(viewHolder.imgs[i]);
}
/**初始化推荐栏目*/
adGallery_Adapt adapt = new adGallery_Adapt(mContext, recommendList);
viewHolder.mRecommendGallery.setAdapter(adapt);
}
8.activity 跳转闪屏问题
设置application 主题:
1.android:theme="@style/AppTheme">
2.<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Black.NoTitleBar">
<!-- Customize your theme here. -->
<item name="android:windowNoTitle">true</item>
<!--
解决黑色闪屏的情况。还有另外一种解决方式:配置
<item name="android:windowIsTranslucent">true</item>即可。
但是配置之后会发现activity的切换动画失效了。这时需要配置另外一个参数,
windowAnimationStyle属性。
-->
<item name="android:windowBackground">@drawable/transparent</item>
</style>
3.屏蔽带动画的跳转
ppressWarnings("deprecation")
// int version = Integer.valueOf(android.os.Build.VERSION.SDK);
// if (version >= 5) {
// ((Activity) mContext).overridePendingTransition(R.anim.room_in, 0); // 此为自定义的
动画效果,下面两个为系统的动画效果
// }
9.listView 搜索没有显示
ListView 的布局有问题,无法计算出高
//数据库操作
10.
@Override
public boolean addCache(ChannelItem item) {
// TODO Auto-generated method stub
boolean flag = false;
SQLiteDatabase database = null;
long id = -1;
try {
database = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", item.getName());
values.put("id", item.getId());
values.put("type", item.getType());
values.put("groups", item.getGroups());
values.put("orderId", item.getOrderId());
values.put("selected", item.getSelected());
id = database.insert(SQLHelper.TABLE_CHANNEL, null, values);
flag = (id != -1 ? true : false);
} catch (Exception e) {
// TODO: handle exception
} finally {
if (database != null) {
database.close();
}
}
return flag;
}
不写成
public static void createTable(){
if(!mdatabase.isOpen()){
open();
}
mdatabase.execSQL("CREATE TABLE IF NOT EXISTS priaseTable(id integer primary key
autoincrement,clickId varchar(100),"
+ "clickType varchar(100),clickCount INTEGER,nativeClick INTEGER)");
mdatabase.close();
}
:SQLiteDatabase 有2中类型, 不要写成静态变量
11.android sqliteDataBase 数据库操作,把SQLiteOpenHelper,PraiseManage,PraiseDao 都做成单例模式,
并且他们的关系是: PraiseManage 单例类的私有变量PraiseDao :用Dao来操作数据库中的表(增删改查);
PraiseDao 单例类的私有变量SQLiteOpenHelper: 用helper 来创建数据库,链接数据库;
12.判断ImageView图片是否存在,未加载成功,就显示默认图片。
if (mPhotoView.getDrawable() == null) {
// Toast.makeText(getActivity(), 图片加载失败, Toast.LENGTH_SHORT).show();
mPhotoView.setImageDrawable(getResources().getDrawable(R.drawable.icon_default_user_photo));
}
13. Xutil 视频下载不起
下载流 有问题!!!!!!!!
14.fragment 声明周期问题:
@Override
public void onCreate(Bundle savedInstanceState) {
Log.e("AbsListFragment","onCreate");
initData();
super.onCreate(savedInstanceState);
}
//返回界面会回调onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.e("AbsListFragment","onCreateView");
mContainer = inflater.inflate(R.layout.activity_list, container, false);
//initData();
//initBitMapUtil() ;
initView();
return mContainer;
}
15.ListView 点击变颜色
home_news_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/newsbg_listpage"
android:orientation="vertical" >
<!-- android:background="@color/white" -->
16.fragment 返回刷新问题
4.第一次打开APP,主页不能显示幻灯片,需要刷新下拉才能出现 OK
5.便民服务打开任意栏目后,返回,需要重新刷新才能显示栏目 OK
生命周期 !!!
17.webView 显示全网页,缩放不成功
刚亲测了一下,
webSettings.setUseWideViewPort(true);//關鍵點
webSettings.setLoadWithOverviewMode(true); webSettings.setLayoutAlgorithm
(LayoutAlgorithm.SINGLE_COLUMN);
使用这三行代码,屏幕密度是160 和屏幕密度是320 都能够适应的。至于你下面的根据屏幕密度进行判断然后在设置,添加
不添加都行。。
mWebView.getSettings().setUseWideViewPort(true);//关键点
// 设置出现缩放工具
mWebView.getSettings().setBuiltInZoomControls(true);
// 设置可以支持缩放
mWebView.getSettings().setSupportZoom(true);
18.java.lang.RuntimeException: Unable to start activity ComponentInfo
{cdv.nanan.mobilestation/cdv.nanan.mobilestation.ui.DownLoadActivity}: java.lang.SecurityException: Not
allowed to start service Intent { act=download.service.action } without permission not exported from uid
10157
修改service的action name ;
<!-- action name 不能更demo的一样,不然启动不起service -->
<service android:name=".down.DownloadService"
android:exported="false" >
<intent-filter>
<action android:name="xiazai.service.action" />
</intent-filter>
</service>
19.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
public void clearFeedTable() {
String sql = "DELETE FROM " + SQLHelper.TABLE_CHANNEL + ";";
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(sql);
revertSeq();
if (db != null) {
db.close();
}
}
private void revertSeq() {
String sql = "update sqlite_sequence set seq=0 where name='"
+ SQLHelper.TABLE_CHANNEL + "'";
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(sql);
//用完 关闭数据库
if (db != null) {
db.close();
}
}
20.屏幕适配
21.数据源缓存
//***未用完之前,不能清空数据源
//recommendList.clear();
//newsList.clear();
// if(tmpRecommendList != null && tmpNewsList != null){
// //缓存操作
// recommendList = tmpRecommendList;
// newsList = tmpNewsList;
// }
不能清空,因为用了hashMap() 赋值 会让hashMap 引用被清空, 逻辑造成错误!
22.activity 通用统一的actionBar 标题栏
@Override
public void setContentView(int layoutResID) {
// TODO Auto-generated method stub
View root = getLayoutInflater().inflate(layoutResID, null);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
/**添加内容*/
mContainer.addView(root,layoutParams);
mContainer.setBackgroundResource(R.drawable.background);
//!!
super.setContentView(mContainer);
}
重写setContentView() 并且 要返回你写的容器 container!
23重复弹框问题: 就是写一个全局的Toast类,当Toast不为空的时候,只改变msg,如果为空才new 一个出来显示!
private Toast mToast;
/**
* 弹出提示信息
*
* @param msg 信息
*/
public void makeToast(CharSequence msg) {
makeToast(msg, Toast.LENGTH_SHORT);
}
/**
* 弹出提示信息
*
* @param msg 信息
* @param duration 弹出时间长度
*/
public void makeToast(CharSequence msg, int duration) {
if (mToast == null) {
mToast = Toast.makeText(this, msg, duration);
} else {
mToast.setText(msg);
}
mToast.setGravity(Gravity.CENTER,0,0);
mToast.show();
}
24.返回键点击 回调用了OnDestroy() 方法,然后清空数据 导致数据没有了。但是在MyConfiguration里面的缓存数据并没
有清空。
@Override
public void onDestroy() {
Log.e("AbsListFragment", "onDestroy");
super.onDestroy();
// if(recommendList != null){
// recommendList.clear();
// }
// if(newsList != null){
// newsList.clear();
// }
}
25.在application 中写数据缓存
//缓存数据
ColumnListCache.getCacheData();
26.数据清空 不但要把数据库清空 还要把本地的数据源清空!
/**保存到本地*/
private void updateUserChanneList(List<NewsFirstCatalog> newsFirstCatalog){
//保存本前 请客空以前的userChannelList!!!
userChannelList.clear();
ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).deleteAllChannel();
for(int i = 0;i<newsFirstCatalog.size();i++){
userChannelList.add(new ChannelItem(Integer.valueOf(newsFirstCatalog.get(i).id),
newsFirstCatalog.get(i).name,newsFirstCatalog.get(i).type
,newsFirstCatalog.get(i).groups, i, 1));
}
ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).saveUserChannel
(userChannelList);
//ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).saveOtherChannel
(otherAdapter.getChannnelLst());
userChannelList = ((ArrayList<ChannelItem>)ChannelManage.getManage(MyApplication.getApp
().getSQLHelper()).getUserChannel());
otherChannelList = ((ArrayList<ChannelItem>)ChannelManage.getManage(MyApplication.getApp
().getSQLHelper()).getOtherChannel());
}
27.数据缓存的时候 可能对象不为空, 但是里面没有数据!!! 所以 先加以size 判断 在赋值为null空,进行初始化
recommendList = ColumnListCache.recommendMap.get(String.valueOf(catid));
newsList = ColumnListCache.newsListMap.get(String.valueOf(catid));
Log.e("newsList.size()", ""+newsList.size());
if(newsList.size() <=0){
newsList = null;
}
cdv.nanan.mobilestation.ui.fragment.AbsListFragment$RecommondViewHolder
if(type.equals("list") && position==0){
recommondViewHolder = (RecommondViewHolder)convertView.getTag();
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
2.java.lang.IndexOutOfBoundsException: Invalid index 15, size is 15
@Override
public int getCount() {
if(recommendList.size() <= 0){
return data == null?0:data.size();
}else{
return data == null?0:data.size()+1;
}
}
@Override
public Object getItem(int position) {
if(recommendList.size() <= 0 ){
return data.get(position);
}else if(recommendList.size()>0 && position == 0){
return recommendList.get(position);
}else{
return data.get(position -1);
}
}
3.逻辑判定类型 有问题!
4.java.lang.IndexOutOfBoundsException: Invalid index 15, size is 15
2中布局时 对应的position 问题
5.TabPageIndicator 动态刷新数据
6.建立表 要用空格!
public void onCreate(SQLiteDatabase db) {
// TODO 创建数据库后,对数据库的操作
String sql = "create table if not exists "+TABLE_CHANNEL +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
ID + " INTEGER , " +
NAME + " TEXT , " +
TYPE + " TEXT ," +
ORDERID + " INTEGER , " +
SELECTED + " SELECTED)";
db.execSQL(sql);
}
7.圆点添加 动态布局
(1).xml 中 设置成match_parent
<RelativeLayout
android:id="@+id/relative_recommend_item"
android:layout_width="match_parent"
android:layout_height="160dp"
android:orientation="vertical" >
<cdv.nanan.mobilestation.view.UGallery
android:id="@+id/recomemd_gallery"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
<LinearLayout
android:id="@+id/change_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical" >
<LinearLayout
android:id="@+id/point_layout"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
</RelativeLayout>
(2) point_layout在java代码中动态设置重力位置Grivaty才会有效果
if(recommendList.size() > 0 && position == 0){
viewHolder.mRecommendItem.setVisibility(View.VISIBLE);
viewHolder.mNormalItem.setVisibility(View.GONE);
//圆点初始化 动态添加
viewHolder.imgs = new ImageView[recommendList.size()];
viewHolder.layout.setGravity(Gravity.CENTER_HORIZONTAL);
viewHolder.layout.removeAllViews(); // 刷新
for(int i = 0; i< recommendList.size();i++){
viewHolder.imgs[i] = new ImageView(mContext);
if(i == 0)
viewHolder.imgs[i].setBackgroundResource
(R.drawable.selectedflag);
else
viewHolder.imgs[i].setBackgroundResource
(R.drawable.unselectedflag);
viewHolder.layout.addView(viewHolder.imgs[i]);
}
/**初始化推荐栏目*/
adGallery_Adapt adapt = new adGallery_Adapt(mContext, recommendList);
viewHolder.mRecommendGallery.setAdapter(adapt);
}
8.activity 跳转闪屏问题
设置application 主题:
1.android:theme="@style/AppTheme">
2.<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Black.NoTitleBar">
<!-- Customize your theme here. -->
<item name="android:windowNoTitle">true</item>
<!--
解决黑色闪屏的情况。还有另外一种解决方式:配置
<item name="android:windowIsTranslucent">true</item>即可。
但是配置之后会发现activity的切换动画失效了。这时需要配置另外一个参数,
windowAnimationStyle属性。
-->
<item name="android:windowBackground">@drawable/transparent</item>
</style>
3.屏蔽带动画的跳转
ppressWarnings("deprecation")
// int version = Integer.valueOf(android.os.Build.VERSION.SDK);
// if (version >= 5) {
// ((Activity) mContext).overridePendingTransition(R.anim.room_in, 0); // 此为自定义的
动画效果,下面两个为系统的动画效果
// }
9.listView 搜索没有显示
ListView 的布局有问题,无法计算出高
//数据库操作
10.
@Override
public boolean addCache(ChannelItem item) {
// TODO Auto-generated method stub
boolean flag = false;
SQLiteDatabase database = null;
long id = -1;
try {
database = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", item.getName());
values.put("id", item.getId());
values.put("type", item.getType());
values.put("groups", item.getGroups());
values.put("orderId", item.getOrderId());
values.put("selected", item.getSelected());
id = database.insert(SQLHelper.TABLE_CHANNEL, null, values);
flag = (id != -1 ? true : false);
} catch (Exception e) {
// TODO: handle exception
} finally {
if (database != null) {
database.close();
}
}
return flag;
}
不写成
public static void createTable(){
if(!mdatabase.isOpen()){
open();
}
mdatabase.execSQL("CREATE TABLE IF NOT EXISTS priaseTable(id integer primary key
autoincrement,clickId varchar(100),"
+ "clickType varchar(100),clickCount INTEGER,nativeClick INTEGER)");
mdatabase.close();
}
:SQLiteDatabase 有2中类型, 不要写成静态变量
11.android sqliteDataBase 数据库操作,把SQLiteOpenHelper,PraiseManage,PraiseDao 都做成单例模式,
并且他们的关系是: PraiseManage 单例类的私有变量PraiseDao :用Dao来操作数据库中的表(增删改查);
PraiseDao 单例类的私有变量SQLiteOpenHelper: 用helper 来创建数据库,链接数据库;
12.判断ImageView图片是否存在,未加载成功,就显示默认图片。
if (mPhotoView.getDrawable() == null) {
// Toast.makeText(getActivity(), 图片加载失败, Toast.LENGTH_SHORT).show();
mPhotoView.setImageDrawable(getResources().getDrawable(R.drawable.icon_default_user_photo));
}
13. Xutil 视频下载不起
下载流 有问题!!!!!!!!
14.fragment 声明周期问题:
@Override
public void onCreate(Bundle savedInstanceState) {
Log.e("AbsListFragment","onCreate");
initData();
super.onCreate(savedInstanceState);
}
//返回界面会回调onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.e("AbsListFragment","onCreateView");
mContainer = inflater.inflate(R.layout.activity_list, container, false);
//initData();
//initBitMapUtil() ;
initView();
return mContainer;
}
15.ListView 点击变颜色
home_news_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/newsbg_listpage"
android:orientation="vertical" >
<!-- android:background="@color/white" -->
16.fragment 返回刷新问题
4.第一次打开APP,主页不能显示幻灯片,需要刷新下拉才能出现 OK
5.便民服务打开任意栏目后,返回,需要重新刷新才能显示栏目 OK
生命周期 !!!
17.webView 显示全网页,缩放不成功
刚亲测了一下,
webSettings.setUseWideViewPort(true);//關鍵點
webSettings.setLoadWithOverviewMode(true); webSettings.setLayoutAlgorithm
(LayoutAlgorithm.SINGLE_COLUMN);
使用这三行代码,屏幕密度是160 和屏幕密度是320 都能够适应的。至于你下面的根据屏幕密度进行判断然后在设置,添加
不添加都行。。
mWebView.getSettings().setUseWideViewPort(true);//关键点
// 设置出现缩放工具
mWebView.getSettings().setBuiltInZoomControls(true);
// 设置可以支持缩放
mWebView.getSettings().setSupportZoom(true);
18.java.lang.RuntimeException: Unable to start activity ComponentInfo
{cdv.nanan.mobilestation/cdv.nanan.mobilestation.ui.DownLoadActivity}: java.lang.SecurityException: Not
allowed to start service Intent { act=download.service.action } without permission not exported from uid
10157
修改service的action name ;
<!-- action name 不能更demo的一样,不然启动不起service -->
<service android:name=".down.DownloadService"
android:exported="false" >
<intent-filter>
<action android:name="xiazai.service.action" />
</intent-filter>
</service>
19.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
public void clearFeedTable() {
String sql = "DELETE FROM " + SQLHelper.TABLE_CHANNEL + ";";
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(sql);
revertSeq();
if (db != null) {
db.close();
}
}
private void revertSeq() {
String sql = "update sqlite_sequence set seq=0 where name='"
+ SQLHelper.TABLE_CHANNEL + "'";
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(sql);
//用完 关闭数据库
if (db != null) {
db.close();
}
}
20.屏幕适配
21.数据源缓存
//***未用完之前,不能清空数据源
//recommendList.clear();
//newsList.clear();
// if(tmpRecommendList != null && tmpNewsList != null){
// //缓存操作
// recommendList = tmpRecommendList;
// newsList = tmpNewsList;
// }
不能清空,因为用了hashMap() 赋值 会让hashMap 引用被清空, 逻辑造成错误!
22.activity 通用统一的actionBar 标题栏
@Override
public void setContentView(int layoutResID) {
// TODO Auto-generated method stub
View root = getLayoutInflater().inflate(layoutResID, null);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
/**添加内容*/
mContainer.addView(root,layoutParams);
mContainer.setBackgroundResource(R.drawable.background);
//!!
super.setContentView(mContainer);
}
重写setContentView() 并且 要返回你写的容器 container!
23重复弹框问题: 就是写一个全局的Toast类,当Toast不为空的时候,只改变msg,如果为空才new 一个出来显示!
private Toast mToast;
/**
* 弹出提示信息
*
* @param msg 信息
*/
public void makeToast(CharSequence msg) {
makeToast(msg, Toast.LENGTH_SHORT);
}
/**
* 弹出提示信息
*
* @param msg 信息
* @param duration 弹出时间长度
*/
public void makeToast(CharSequence msg, int duration) {
if (mToast == null) {
mToast = Toast.makeText(this, msg, duration);
} else {
mToast.setText(msg);
}
mToast.setGravity(Gravity.CENTER,0,0);
mToast.show();
}
24.返回键点击 回调用了OnDestroy() 方法,然后清空数据 导致数据没有了。但是在MyConfiguration里面的缓存数据并没
有清空。
@Override
public void onDestroy() {
Log.e("AbsListFragment", "onDestroy");
super.onDestroy();
// if(recommendList != null){
// recommendList.clear();
// }
// if(newsList != null){
// newsList.clear();
// }
}
25.在application 中写数据缓存
//缓存数据
ColumnListCache.getCacheData();
26.数据清空 不但要把数据库清空 还要把本地的数据源清空!
/**保存到本地*/
private void updateUserChanneList(List<NewsFirstCatalog> newsFirstCatalog){
//保存本前 请客空以前的userChannelList!!!
userChannelList.clear();
ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).deleteAllChannel();
for(int i = 0;i<newsFirstCatalog.size();i++){
userChannelList.add(new ChannelItem(Integer.valueOf(newsFirstCatalog.get(i).id),
newsFirstCatalog.get(i).name,newsFirstCatalog.get(i).type
,newsFirstCatalog.get(i).groups, i, 1));
}
ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).saveUserChannel
(userChannelList);
//ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).saveOtherChannel
(otherAdapter.getChannnelLst());
userChannelList = ((ArrayList<ChannelItem>)ChannelManage.getManage(MyApplication.getApp
().getSQLHelper()).getUserChannel());
otherChannelList = ((ArrayList<ChannelItem>)ChannelManage.getManage(MyApplication.getApp
().getSQLHelper()).getOtherChannel());
}
27.数据缓存的时候 可能对象不为空, 但是里面没有数据!!! 所以 先加以size 判断 在赋值为null空,进行初始化
recommendList = ColumnListCache.recommendMap.get(String.valueOf(catid));
newsList = ColumnListCache.newsListMap.get(String.valueOf(catid));
Log.e("newsList.size()", ""+newsList.size());
if(newsList.size() <=0){
newsList = null;
}
相关文章推荐
- Uva - 10815 - Andy's First Dictionary
- Uva - 10815 - Andy's First Dictionary
- UVA 10911--Forming Quiz Teams+状态压缩+记忆化搜索
- [PHP] - Laravel - Route路由
- jquery初步(二) 选择器
- 使用VS2010时遇到的一些小问题的解决方案(从各处搜罗总结的,不定期更新,向原作者致敬)
- 优先级队列的实现
- riot.js 学习【一】自定义标签
- Gulp JS简单操作-待续
- Zookeeper架构学习(四):ZAB协议
- mysql数据库备份及恢复命令mysqldump,source的用法
- android_Environment类
- DeviceIoControl操作对象参数的区别
- Lucene40PostingWriter
- 如何通过rsync+sersync 实现同步备份
- 一个在线看android系统各个版本源码的链接
- Java调用Python
- Spark 学习笔记:(二)编程指引(Scala版)
- oc中文转字符串
- 一些恶搞的bat小脚本