15
15
import android .widget .ImageButton ;
16
16
import android .widget .TextView ;
17
17
18
+ import com .dreamteam .app .db .DBHelper ;
18
19
import com .dreamteam .app .db .FeedDBHelper ;
19
20
import com .dreamteam .app .entity .Feed ;
20
- import com .dreamteam .app .entity .Section ;
21
21
import com .dreateam .app .ui .R ;
22
22
23
23
/**
@@ -29,22 +29,16 @@ public class CategoryDetailAdapter extends BaseAdapter
29
29
{
30
30
public static final String tag = "CategoryDetailAdapter" ;
31
31
private LayoutInflater inflater ;
32
-
33
32
private Context context ;
34
-
35
33
private ArrayList <Feed > feeds = new ArrayList <Feed >();
36
- private String tableName ;
37
-
34
+ private String tableName ;//所分类对应的表名
35
+ public static final String SECTION_TABLE_NAME = "section" ;
38
36
39
- public CategoryDetailAdapter (Context context )
40
- {
41
- this .context = context ;
42
- }
43
-
44
- public CategoryDetailAdapter (Context context , ArrayList <Feed > feeds )
37
+ public CategoryDetailAdapter (Context context , ArrayList <Feed > feeds , String tableName )
45
38
{
46
39
this .context = context ;
47
40
this .feeds = feeds ;
41
+ this .tableName = tableName ;
48
42
}
49
43
50
44
public void updateData (ArrayList <Feed > feeds )
@@ -60,15 +54,15 @@ public int getCount()
60
54
}
61
55
62
56
@ Override
63
- public Object getItem (int arg0 )
57
+ public Object getItem (int position )
64
58
{
65
- return null ;
59
+ return feeds . get ( position ) ;
66
60
}
67
61
68
62
@ Override
69
- public long getItemId (int arg0 )
63
+ public long getItemId (int id )
70
64
{
71
- return 0 ;
65
+ return id ;
72
66
}
73
67
74
68
@ Override
@@ -81,49 +75,70 @@ public View getView(final int position, View convertView, ViewGroup parent)
81
75
inflater = (LayoutInflater ) context .getSystemService (Context .LAYOUT_INFLATER_SERVICE );
82
76
convertView = inflater .inflate (R .layout .category_detail_item , null );
83
77
holder = new ViewHolder ();
84
- holder .FEED_TITLE = (TextView ) convertView .findViewById (R .id .category_detail_feed_title );
85
- holder .ADD_BTN = (ImageButton ) convertView .findViewById (R .id .category_detail_add );
86
- holder .ADD_BTN .setOnClickListener (new OnClickListener ()
78
+ holder .feedTitle = (TextView ) convertView .findViewById (R .id .category_detail_feed_title );
79
+ holder .addBtn = (ImageButton ) convertView .findViewById (R .id .category_detail_add );
80
+ holder .addBtn .setOnClickListener (new OnClickListener ()
87
81
{
88
- /* (non-Javadoc)
89
- * @see android.view.View.OnClickListener#onClick(android.view.View)
90
- */
91
82
@ Override
92
83
public void onClick (View v )
93
84
{
94
- if (feeds .get (position ).getSelectStatus () == 1 )
85
+ Feed feed = feeds .get (position );
86
+
87
+ //已经选中,取消选中状态
88
+ if (feed .getSelectStatus () == 1 )
89
+ {
90
+ //该变传入feeds
91
+ feed .setSelectStatus (0 );
92
+ Bitmap bmp = BitmapFactory .decodeResource (context .getResources (),
93
+ R .drawable .add );
94
+ holder .addBtn .setImageBitmap (bmp );
95
+ //删除section表中记录的数据
96
+ DBHelper helper = new DBHelper (context , "reader.db" , null , 1 );
97
+ SQLiteDatabase db = helper .getWritableDatabase ();
98
+ db .delete (SECTION_TABLE_NAME , "url=?" , new String []{feed .getUrl ()});
99
+ db .close ();
100
+ //更新feed.db中所对应表的状态为0
101
+ FeedDBHelper helper_1 = new FeedDBHelper (context , "feed.db" , null , 1 );
102
+ SQLiteDatabase db_1 = helper_1 .getWritableDatabase ();
103
+ ContentValues values = new ContentValues ();
104
+ values .put ("select_status" , 0 );
105
+ db_1 .update (tableName , values , "url=?" , new String []{feed .getUrl ()});
106
+ db_1 .close ();
95
107
return ;
108
+ }
109
+ //否则,选中状态
110
+ feed .setSelectStatus (1 );
96
111
Bitmap bmp = BitmapFactory .decodeResource (context .getResources (),
97
112
R .drawable .added );
98
- holder .ADD_BTN .setImageBitmap (bmp );
99
-
100
- FeedDBHelper helper = new FeedDBHelper (context , "feed .db" , null , 1 );
113
+ holder .addBtn .setImageBitmap (bmp );
114
+ //加入section表
115
+ DBHelper helper = new DBHelper (context , "reader .db" , null , 1 );
101
116
SQLiteDatabase db = helper .getWritableDatabase ();
102
117
ContentValues values = new ContentValues ();
103
- values .put ("select_status" , 1 );
104
- db .update (tableName , values , "id=?" , new String []{"" + position });
118
+ values .put ("title" , feed .getTitle ());
119
+ values .put ("url" , feed .getUrl ());
120
+ db .insert (SECTION_TABLE_NAME , null , values );
105
121
db .close ();
106
-
107
- String title = feeds .get (position ).getTitle ();
108
- String url = feeds .get (position ).getUrl ();
109
- Section s = new Section ();
110
- s .setTitle (title );
111
- s .setUrl (url );
112
- s .setTableName (tableName );
122
+ //更新feed.db中所对应表的状态为1
123
+ FeedDBHelper helper_1 = new FeedDBHelper (context , "feed.db" , null , 1 );
124
+ SQLiteDatabase db_1 = helper_1 .getWritableDatabase ();
125
+ values .put ("select_status" , 1 );
126
+ db_1 .update (tableName , values , "url=?" , new String []{feed .getUrl ()});
127
+ db_1 .close ();
113
128
}
114
129
});
115
-
116
130
convertView .setTag (holder );
117
131
}
118
132
else
119
133
{
120
134
holder = (ViewHolder ) convertView .getTag ();
121
135
}
122
-
123
- Feed f = feeds .get (position );
124
- holder .FEED_TITLE .setText ((CharSequence ) f .getTitle ());
136
+ Feed feed = feeds .get (position );
137
+ holder .feedTitle .setText ((CharSequence )
138
+ feed .getTitle ());
139
+ //addBtn状态图标设置
125
140
Bitmap bm = null ;
126
- if (f .getSelectStatus () == 1 )
141
+ if (feed .getSelectStatus () == 1 )
127
142
{
128
143
bm = BitmapFactory .decodeResource (context .getResources (),
129
144
R .drawable .added );
@@ -135,17 +150,15 @@ public void onClick(View v)
135
150
R .drawable .add );
136
151
notifyDataSetChanged ();
137
152
}
138
- holder .ADD_BTN .setImageBitmap (bm );
153
+ holder .addBtn .setImageBitmap (bm );
139
154
return convertView ;
140
155
}
156
+
157
+
141
158
private static final class ViewHolder
142
159
{
143
- TextView FEED_TITLE ;
144
- ImageButton ADD_BTN ;
145
- }
146
- public void setTabelName (String tableName )
147
- {
148
- this .tableName = tableName ;
160
+ TextView feedTitle ;
161
+ ImageButton addBtn ;
149
162
}
150
163
151
164
}
0 commit comments