Browse Source

点击复制包名

liuyuqi-dellpc 3 years ago
parent
commit
41611b0884

+ 22 - 4
app/src/main/java/me/yoqi/android/appmanager/views/AppInfoAdapter.java

@@ -1,5 +1,7 @@
 package me.yoqi.android.appmanager.views;
 
+import android.content.ClipData;
+import android.content.ClipboardManager;
 import android.content.Context;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -13,18 +15,22 @@ import java.util.List;
 
 import me.yoqi.android.appmanager.R;
 import me.yoqi.android.appmanager.model.AppInfo;
+import me.yoqi.android.utils.SimplexToast;
 
 /**
+ * appinfo数据适配器
+ *
  * @author liuyuqi.gov@msn.cn
  * @createTime 2020-10-01
  */
 public class AppInfoAdapter extends BaseAdapter {
 
     private List<AppInfo> mlistAppinfo = null;
-
     LayoutInflater infater = null;
+    Context mContext;
 
     public AppInfoAdapter(Context context, List<AppInfo> apps) {
+        mContext = context;
         infater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         mlistAppinfo = apps;
     }
@@ -49,24 +55,36 @@ public class AppInfoAdapter extends BaseAdapter {
         View view = null;
         ViewHolder holder = null;
         if (convertview == null || convertview.getTag() == null) {
-            view = infater.inflate(R.layout.lv_item, null);
+            view = infater.inflate(R.layout.lv_item, null); //设置布局
             holder = new ViewHolder(view);
             view.setTag(holder);
         } else {
             view = convertview;
             holder = (ViewHolder) convertview.getTag();
         }
-        AppInfo Appinfo = (AppInfo) getItem(position);
+        final AppInfo Appinfo = (AppInfo) getItem(position);
         holder.icon.setImageDrawable(Appinfo.getAppIcon());
         holder.appNmae.setText(Appinfo.getAppName());
         holder.packageName.setText("包名:" + Appinfo.getPackageName());
         if (!TextUtils.isEmpty(Appinfo.getLuancherActivity())) {
             holder.launcherName.setText("启动类名:" + Appinfo.getLuancherActivity());
         }
+        view.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                SimplexToast.show(mContext, "包名已复制到剪切板");
+                //获取剪贴板管理器:
+                ClipboardManager cm = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
+                // 创建普通字符型ClipData
+                ClipData mClipData = ClipData.newPlainText("Label", Appinfo.getPackageName());
+                // 将ClipData内容放到系统剪贴板里。
+                cm.setPrimaryClip(mClipData);
+            }
+        });
         return view;
     }
 
-    class ViewHolder {
+    static class ViewHolder {
         ImageView icon;
         TextView appNmae;
         TextView packageName;

+ 2 - 0
app/src/main/res/layout/activity_main.xml

@@ -43,6 +43,8 @@
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
                 android:layout_weight="1"
+                android:listSelector="@android:color/transparent"
+                android:choiceMode="singleChoice"
                 android:visibility="gone"></ListView>
         </LinearLayout>