首页 > 编程知识 正文

chrome浏览器安卓,webview内存泄漏

时间:2023-05-03 14:14:04 阅读:59873 作者:3029

文件浏览器用于读取android系统中的所有文件和文件夹。 具体说明一下,撒娇的蘑菇p的顶部会显示当前的文件路径。 对于路由,将显示“路由”。 撒娇的蘑菇p的第2行是返回上一层的按钮。 如果当前位于根目录下,则不显示该行。 撒娇蘑菇p文件使用listView控件,表示所有文件都是一次加载的。如果是当前文件夹,则可以单击以进入下一级目录;如果是文件,则单击以默认选择该文件返回文件名,关闭文件浏览器。 撒娇蘑菇p示例:撒娇蘑菇p文件浏览器Activity撒娇蘑菇ppublicclassfilemanageractivityextendsactivity 撒娇的蘑菇pprivateTextViewmReturn; 撒娇的蘑菇pprivateListViewmList; 撒娇的蘑菇pprivateViewmPathLine; 撒娇的蘑菇pprivateStringmReturnPath=null; 撒娇的蘑菇pprivatefilemanageradapteradapter; 撒娇的蘑菇pprivateArrayListinfos=null; 撒娇蘑菇p@Override撒娇蘑菇pprotectedvoidoncreate (bundlesavedinstancestate ) )撒娇蘑菇p super.oncreate savedinstancestate 撒娇的蘑菇psetcontentview (r.layout.file _ list ); 撒娇的蘑菇pinitView (; 撒娇p}撒娇pprivatevoidinitView ()撒娇pmcurrentpath=(textview ) findviewbyid ) r.id.file_path ); 撒娇的蘑菇pmpathline=findviewbyid (r.id.file _ path _ line ); 撒娇的蘑菇pmreturn=(textview ) findviewbyid ) r.id.file_return ); 撒娇的蘑菇pmlist=(listview ) findviewbyid ) r.id.file_list ); 撒娇的蘑菇pm list.setonitemclicklistener (click listener ); 撒娇蘑菇pm return.setonclicklistener (newonclicklistener ) )撒娇蘑菇p@Override撒娇蘑菇public void onclick (viewv ) )撒娇h.length ) ) 0返回str.equals ) )上一级) )撒娇蘑菇pinitlist ) mreturnpath ); 撒娇p}撒娇p}撒娇p}撒娇p}; 撒娇的蘑菇pinitlist((/); //从根目录初始化撒娇p )撒娇pprivatevoidinitlist (string path ) (撒娇pfilefile=newfile ) path )撒娇蘑菇pfile [ ] fille 撒娇的蘑菇pinfos=newArrayList (; 撒娇的蘑菇pMapitem=newHashMap (); 撒娇的蘑菇pDrawabledrawable; 撒娇蘑菇pif (path.equals ) (' /如果当前是根,返回上一个按钮,撒娇蘑菇pdrawable=getResources ).getdrawable ) r.drawable . drawable.getMinimumWidth ),撒娇的蘑菇pdrawable.getMinimumHeight ) ); 撒娇的蘑菇pmcurrentpath.setcompounddrawablepadding (10; 撒娇的蘑菇pmcurrentpath.setcompounddrawables (drawable、null、null、null ); 撒娇的蘑菇pmCurrentPath.setText ('根列表); 撒娇的蘑菇pmreturnh.set visibility (view.gone ); 撒娇的蘑菇pmpathline.set visibility (view.gon

E);} else {drawable = getResources().getDrawable(R.drawable.versionup);drawable.setBounds(0, 0, drawable.getMinimumWidth(),drawable.getMinimumHeight());mReturn.setCompoundDrawables(drawable, null, null, null);mReturn.setText("返回上一级");mReturnPath = file.getParent();  //保存该级目录的上一级路径mCurrentPath.setVisibility(View.VISIBLE);mPathLine.setVisibility(View.VISIBLE);mCurrentPath.setText(file.getPath());}try {for (int i = 0; i item = new HashMap();File fileItem = fileList[i];if (fileItem.isDirectory()) {  //如果当前文件为文件夹,设置文件夹的图标item.put("icon", R.drawable.icon_one);} elseitem.put("icon", R.drawable.icon_two);item.put("name", fileItem.getName());item.put("path", fileItem.getAbsolutePath());infos.add(item);}} catch (Exception e) {e.printStackTrace();}adapter = new FileManagerAdapter(this);adapter.setFileListInfo(infos);mList.setAdapter(adapter);}private OnItemClickListener clickListener = new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView> arg0, View arg1, int position,long arg3) {File file = new File((String) (infos.get(position).get("path")));if (file.isDirectory()) {  //若点击文件夹,则进入下一级目录String nextPath = (String) (infos.get(position).get("path"));initList(nextPath);} else {            //若点击文件,则将文件名发送至调用文件浏览器的主界面Intent intent = new Intent();intent.setClass(FileManagerActivity.this,A.class);intent.putExtra("fileName",(String) (infos.get(position).get("name")));intent.putExtra("path", (String) (infos.get(position).get("path")));setResult(RESULT_OK, intent);finish();}}};}文件浏览器的adapterpublic class FileManagerAdapter extends BaseAdapter{private Context mContext;private List> list = new ArrayList>();public FileManagerAdapter(Context context) {super();}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int arg0) {return arg0;}@Overridepublic View getView(int position, View convertView, ViewGroup arg2) {if(null == convertView){holder = new FileMangerHolder();holder.icon = (ImageView) convertView.findViewById(R.id.file_item_icon);holder.name = (TextView) convertView.findViewById(R.id.file_item_name);}else{holder = (FileMangerHolder) convertView.getTag();}holder.icon.setImageResource((Integer)(list.get(position).get("icon")));holder.name.setText((String)(list.get(position).get("name")));return convertView;}public class FileMangerHolder{public ImageView icon;public TextView name;}public void setFileListInfo(List> infos){list.clear();list.addAll(infos);notifyDataSetChanged();}}file_list.layout

android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"android:orientation="vertical" >

android:id="@+id/file_path"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="5dp"android:textColor="@color/white"android:textSize="12sp" />

android:id="@+id/file_path_line"android:layout_width="match_parent"android:layout_height="0.3dp"android:background="@color/gray_dark" />

android:id="@+id/file_return"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="5dp"android:textColor="@color/white"android:textSize="12sp"/>

android:layout_width="match_parent"android:layout_height="0.3dp"android:background="@color/gray_dark" />

android:id="@+id/file_list"android:layout_width="match_parent"android:layout_height="wrap_content"android:cacheColorHint="@color/transparent"android:divider="@color/gray_dark"android:dividerHeight="0.3dp"android:listSelector="@null"android:scrollbars="none" />file_item.layout

android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_vertical"android:orientation="horizontal" >

android:id="@+id/file_item_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="5dp" />

android:id="@+id/file_item_name"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_margin="5dp"android:layout_weight="1"android:textColor="@color/white"android:textSize="12sp" />

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。