通过关键字母快速搜索手机sd卡中的文件,输出的文本可以上下滚动。

要搜索文件首先要更改权限,在manifest.xml中添加:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

JAVA CODE:

import java.io.File;


import android.app.Activity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class EX04_11 extends Activity
{
private Button mButton;
private EditText mKeyword;
private TextView mResult;
//private String result="";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mKeyword = (EditText) findViewById(R.id.mKeyword);
mButton = (Button) findViewById(R.id.mButton);
mResult = (TextView) findViewById(R.id.mResult); /* 将mButton加入onClickListener */
mResult.setMovementMethod(ScrollingMovementMethod.getInstance());
mButton.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)

{

/* 取得输入的关键词 */

String keyword = mKeyword.getText().toString().trim();
if (keyword.equals(""))
{
mResult.setText("请勿输入空白的关键词!!");
} else
{
mResult.setText(searchFile(keyword));
}
}
});
} /* 搜索文件的method */
private String searchFile(String keyword)
{
String result = "";
File[] files = new File("/sdcard").listFiles();
for (File f : files)
{

if (f.getName().indexOf(keyword.toLowerCase()) >= 0||f.getName().indexOf(keyword.toUpperCase()) >= 0) 大小写输入
{
result += f.getPath() + "\n";
}
}
if (result.equals(""))
result = "找不到文件!!";
return result;
}
}
return result;
}

}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/layout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/mText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="@string/str_title"
android:textColor="@drawable/black"
/>
<EditText
android:id="@+id/mKeyword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_below="@+id/mText"

/>

<Button
android:id="@+id/mButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/str_button"
android:layout_below= "@+id/mKeyword"

/>
<TextView
android:id="@+id/mResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/blue"
android:layout_below="@+id/mButton"
android:scrollbars="vertical"
android:ellipsize="marquee"
android:maxLines="25"
/>
</RelativeLayout>



from:http://blog.csdn.net/zjbpku

更多相关文章

  1. Android(安卓)SDK无法更新
  2. Android(安卓)ImageLoader 本地缓存
  3. Android之MTP框架和流程分析
  4. 怎样在Android中解析doc、docx、xls、xlsx格式文
  5. android反编译工具 ApkDec-Release-0.1
  6. 【Android】Android(安卓)Input
  7. android error: Apostrophe not preceded 错误解决办法
  8. Android(安卓): java.lang.UnsatisfiedLinkError: dalvik.system
  9. android include 控件详解

随机推荐

  1. AndroidManifest.xml中android:label标签
  2. Android(安卓)Jetpack 之 LifeCycle
  3. Android(安卓)获取判断是否有悬浮窗权限
  4. 【Android】Material Design 之二 Bottom
  5. android studio 导入Eclipse项目报错:thi
  6. android 开发生成csr,并把私钥和ca认证的c
  7. Android——实时显示系统时间
  8. Android手机应用开发(八) | 制作简单音乐播
  9. Android状态栏透明方法,与工具栏颜色一致
  10. Android实现图片浏览器示例