我有一个目录中的文件列表。在下面显示的活动中,应用程序将文件加载到列表视图中。现在,我需要每个列表项在目录中打开它的相应文件,并在另一个活动中播放该文件(可能是通过意图)。甚至测试Toast通知也没有显示出来。我怎么能这样做?此列表会动态更改,因为每次在目录中添加新文件时它都会不断增长。所以,我不能轻易使用开关盒。
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();
}
});
}
}
答案 0 :(得分:0)
我认为您的问题是因为您在未调用的方法中设置了onCLickListener()
。您应该在ListView
初始化之后设置监听器,并调用方法来执行您的操作(或者使用onItemClick
覆盖方法执行此操作。)
因此,在您的onCreate
中,您可以将其更改为:
listview = (ListView) findViewById(R.id.recordlist);
listview.setOnItemClickListener(...);