Java Android:列表中特定文件的路径
我有一个wav文件列表在一个文件夹中的外部存储。我用ListView显示此列表,这是我的代码:Java Android:列表中特定文件的路径,java,android,listview,path,Java,Android,Listview,Path,我有一个wav文件列表在一个文件夹中的外部存储。我用ListView显示此列表,这是我的代码: public class MainActivity extends Activity { final StringBuffer stringbuff = new StringBuffer(); private ListView mainListView ; private ArrayAdapter<String> listAdapter ; @
public class MainActivity extends Activity {
final StringBuffer stringbuff = new StringBuffer();
private ListView mainListView ;
private ArrayAdapter<String> listAdapter ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainListView = (ListView) findViewById( R.id.mainListView );
ArrayList<String> List = new ArrayList<String>();
File storage = Environment.getExternalStorageDirectory();
File file = new File(storage,"/folder/");
if (file.exists() && file.isDirectory()) {
for (String s : file.list()) {
stringbuffer.append(s + " ");
List.addAll( Arrays.asList(s) );
}
}
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, R.id.rowTextView,List);
mainListView.setAdapter( listAdapter );
}
公共类MainActivity扩展活动{
final StringBuffer stringbuff=新StringBuffer();
私有ListView主ListView;
专用阵列适配器列表适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainListView=(ListView)findViewById(R.id.mainListView);
ArrayList=新建ArrayList();
File storage=Environment.getExternalStorageDirectory();
File File=新文件(存储“/folder/”;
if(file.exists()&&file.isDirectory()){
对于(字符串s:file.list()){
stringbuffer.append(s+“”);
List.addAll(Arrays.asList);
}
}
listAdapter=new ArrayAdapter(this,R.layout.simplerow,R.id.rowTextView,List);
mainListView.setAdapter(listAdapter);
}
我希望单击一个按钮可以显示所选文件的路径。我如何才能做到这一点?下面的代码将用toast显示文件路径
mainListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String filepath = new File(storage + "/folder/"+ List.get(arg2)).getAbsolutePath();
Toast.makeText(getApplicationContext(), filepath, Toast.LENGTH_LONG).show();
}
});
mainListView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
String filepath=new File(storage+“/folder/”+List.get(arg2)).getAbsolutePath();
Toast.makeText(getApplicationContext(),filepath,Toast.LENGTH_LONG.show();
}
});
您需要添加一个监听器
AdapterView.OnItemClickListener openSelection = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
String p = (String) arg0.getItemAtPosition(arg2);
Toast.makeText(UploadFilePage.this, p, Toast.LENGTH_LONG).show();
}
};
mainListView.setOnItemClickListener(openSelection);
AdapterView.OnItemClickListener openSelection=new AdapterView.OnItemClickListener(){
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
字符串p=(字符串)arg0.getItemAtPosition(arg2);
Toast.makeText(UploadFilePage.this,p,Toast.LENGTH_LONG.show();
}
};
mainListView.setOnItemClickListener(openSelection);
考虑使用自定义ArrayAdapter抱歉,但我必须在其中添加此部分,因为我想通过在列表中选择一个文件,通过一个按钮,我可以看到此文件的路径。只需将其添加到mainListView.setAdapter(listAdapter)之后;当您单击一行时,您将看到地址