0

我有一个目录中的文件列表。在下面显示的活动中,应用程序将文件加载到列表视图中。现在,我需要每个列表项在目录中打开它的相应文件并在另一个活动中播放该文件(可能通过意图)。即使是测试 Toast 通知也没有出现。我该怎么办?此列表会动态更改,因为每次在目录中添加新文件时它都会不断增长。所以,我不能轻易使用 switch-case 块。

public class ReadFilesFromPath extends Activity {
/** Called when the activity is first created. */
List<String> myList;
File file;
ListView listview;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recordinglist);
listview = (ListView) findViewById(R.id.recordlist);
myList = new ArrayList<String>();

File directory = Environment.getExternalStorageDirectory();
file = new File( directory + "/" + "Recordify" );
File list[] = file.listFiles();

for( int i=0; i< list.length; i++)
{
        myList.add( list[i].getName() );
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, android.R.id.text1, myList);
listview.setAdapter(adapter); //Set all the file in the list.
}
public void onitemclick() {
    listview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> a, View v, int i,
                long l) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "Test", Toast.LENGTH_SHORT).show();
        }

    });
 }
}
4

1 回答 1

0

我认为您的问题是因为您正在设置onCLickListener()未调用的方法。您应该在ListView初始化后设置侦听器,并调用该方法来完成您的工作(或使用onItemClick覆盖方法来完成)。

所以在你的onCreate你可以把它改成这样:

listview = (ListView) findViewById(R.id.recordlist);
listview.setOnItemClickListener(...);
于 2013-08-18T23:45:08.370 回答