展开式收藏夹在增加分类数目统计

This commit is contained in:
sonichy
2023-03-25 13:28:01 +08:00
parent 02b04aa416
commit 44b62d73ae
4 changed files with 29 additions and 19 deletions

View File

@@ -17,18 +17,18 @@ import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.SimpleCursorTreeAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
@@ -48,7 +48,7 @@ public class FavoriteActivity1 extends Activity {
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
String url = ((TextView) v.findViewById(R.id.website)).getText().toString();
String url = ((TextView) v.findViewById(R.id.group_count)).getText().toString();
Intent intent = new Intent(FavoriteActivity1.this, MainActivity.class);
intent.putExtra("url", url);
setResult(RESULT_OK, intent);
@@ -70,7 +70,7 @@ public class FavoriteActivity1 extends Activity {
menu.add(0, i, i, sm[i]);
}
} else if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
String title = ((TextView) info.targetView.findViewById(R.id.title)).getText().toString();
String title = ((TextView) info.targetView.findViewById(R.id.group_name)).getText().toString();
menu.setHeaderIcon(R.drawable.link);
menu.setHeaderTitle(title);
String[] sm = { "在新窗口中打开", "复制链接", "分享", "修改", "删除" };
@@ -83,11 +83,21 @@ public class FavoriteActivity1 extends Activity {
DBHelper helper = new DBHelper(this);
Cursor groupCursor = helper.category();
SimpleCursorTreeAdapter adapter = new MyExpandableListAdapter(groupCursor, this, android.R.layout.simple_expandable_list_item_1, R.layout.favorite_row, new String[] { "category" }, new int[] { android.R.id.text1 }, new String[] { "_id", "title", "website", "category", "website" }, new int[] { R.id.id, R.id.title, R.id.website, R.id.category, R.id.imageView_favicon });
// android.R.layout.simple_expandable_list_item_1 -> R.layout.group_row
// android.R.id.text1 -> R.id.group_name, R.id.group_count
SimpleCursorTreeAdapter adapter = new MySimpleCursorTreeAdapter(groupCursor, this, R.layout.group_row, R.layout.favorite_row, new String[] { "category", "category" }, new int[] { R.id.group_name, R.id.group_count }, new String[] { "_id", "title", "website", "category", "website" }, new int[] { R.id.id, R.id.title, R.id.website, R.id.category, R.id.imageView_favicon });
adapter.setViewBinder(new SimpleCursorTreeAdapter.ViewBinder(){
public boolean setViewValue(View view, Cursor cursor, int columnIndex){
//Log.e(Thread.currentThread().getStackTrace()[2] + "", view.toString() + cursor.getCount());
if (view.getId() == R.id.imageView_favicon) {
if (view.getId() == R.id.group_count) {
TextView textView = (TextView) view;
String s = cursor.getString(columnIndex);
DBHelper helper = new DBHelper(FavoriteActivity1.this);
Cursor cursor1 = helper.queryCategory(s);
int count = cursor1.getCount();
textView.setText("" + count);
return true;
} else if (view.getId() == R.id.imageView_favicon) {
String website = cursor.getString(columnIndex);
if (website.startsWith("https://")) {
((ImageView) view).setImageResource(android.R.drawable.ic_secure);
@@ -104,10 +114,14 @@ public class FavoriteActivity1 extends Activity {
}
});
expandableListView.setAdapter(adapter);
Cursor cursor = helper.query("");
int count = cursor.getCount();
setTitle("收藏夹 " + count);
}
public class MyExpandableListAdapter extends SimpleCursorTreeAdapter {
public MyExpandableListAdapter(Cursor cursor, Context context, int groupLayout, int childLayout, String[] groupFrom, int[] groupTo, String[] childrenFrom, int[] childrenTo) {
public class MySimpleCursorTreeAdapter extends SimpleCursorTreeAdapter {
public MySimpleCursorTreeAdapter(Cursor cursor, Context context, int groupLayout, int childLayout, String[] groupFrom, int[] groupTo, String[] childrenFrom, int[] childrenTo) {
super(context, cursor, groupLayout, groupFrom, groupTo, childLayout, childrenFrom, childrenTo);
}
@@ -255,8 +269,8 @@ public class FavoriteActivity1 extends Activity {
break;
case 1:
final String sid = ((TextView) menuInfo.targetView.findViewById(R.id.id)).getText().toString();
final String title = ((TextView) menuInfo.targetView.findViewById(R.id.title)).getText().toString();
final String url = ((TextView) menuInfo.targetView.findViewById(R.id.website)).getText().toString();
final String title = ((TextView) menuInfo.targetView.findViewById(R.id.group_name)).getText().toString();
final String url = ((TextView) menuInfo.targetView.findViewById(R.id.group_count)).getText().toString();
final String category = ((TextView) menuInfo.targetView.findViewById(R.id.category)).getText().toString();
switch (item.getItemId()) {
case 0: