【问题标题】:Android: path of specific file from a listAndroid:列表中特定文件的路径
【发布时间】:2015-03-05 11:33:00
【问题描述】:

我在外部存储的文件夹中有一个 wav 文件列表。我用 ListView 显示这个列表,这是我的代码:

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 );  

    }

我希望单击按钮获得所选文件的路径。我该怎么做?

【问题讨论】:

  • 考虑使用自定义 ArrayAdapter

标签: java android listview path


【解决方案1】:

你需要添加 OnItemClickListener

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);

【讨论】:

    【解决方案2】:

    以下代码将显示带有 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.setAdapter(listAdapter)之后添加即可;当您单击一行时,您将看到地址
    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 2021-10-14
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 2016-07-04
    相关资源
    最近更新 更多