作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
当我点击其中的一项时,我试图在 ListView 中获得正确的位置。我启用了 setTextFilterEnabled。这是我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
.....
//get files
getfile(root);
adapter = (new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mylist));
listView = (ListView) findViewById(R.id.view);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
.....
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String pdfPath = Environment.getExternalStorageDirectory() + fileList.get(position).getName();
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("location_of_file", pdfPath);
startActivity(intent);
}
});
.....
这是我的 ArrayList 获取文件
public ArrayList<File> getfile(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null && listFile.length > 0) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
fileList.add(listFile[i]);
getfile(listFile[i]);
} else {
if (listFile[i].getName().endsWith(".pdf"))
{
fileList.add(listFile[i]);
}
}
}
}
return fileList;
}
这是使用过滤的地方
private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s);
listView.setVisibility(View.INVISIBLE); //when input text is changed hide list
}
};
在我的 ListView onClickListener 中,它总是给我错误的位置和错误的文件路径。
请帮忙。谢谢。
我是一名优秀的程序员,十分优秀!