Android 打开一个新的活动以在ListItem上播放项目单击

Android 打开一个新的活动以在ListItem上播放项目单击,android,listview,onclick,playback,Android,Listview,Onclick,Playback,我有一个目录中的文件列表。在下面显示的活动中,应用程序将文件加载到列表视图中。现在,我需要每个列表项在目录中打开它对应的文件,并在另一个活动中播放该文件(可能是通过意图)。甚至测试Toast通知也不会显示。我该怎么办?此列表会动态更改,因为每次在目录中添加新文件时,它都会不断增长。所以,我不能轻易地使用开关盒块 public class ReadFilesFromPath extends Activity { /** Called when the activity is first creat

我有一个目录中的文件列表。在下面显示的活动中,应用程序将文件加载到列表视图中。现在,我需要每个列表项在目录中打开它对应的文件,并在另一个活动中播放该文件(可能是通过意图)。甚至测试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();
        }

    });
 }
}
public类ReadFilesFromPath扩展活动{
/**在首次创建活动时调用*/
列出我的清单;
文件;
列表视图列表视图;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.recordinglist);
listview=(listview)findViewById(R.id.recordlist);
myList=新的ArrayList();
File directory=Environment.getExternalStorageDirectory();
文件=新文件(目录+“/”+“Recordify”);
文件列表[]=File.listFiles();
for(int i=0;i
我认为您的问题是因为您在未调用的方法中设置了
onCLickListener()
。您应该在初始化
ListView
之后设置侦听器,并调用该方法来完成您的工作(或者使用
onItemClick
覆盖方法)

因此,在您的
onCreate
中,您可以将其更改为:

listview = (ListView) findViewById(R.id.recordlist);
listview.setOnItemClickListener(...);

好的,我已经这么做了,但现在问题仍然存在。我不知道如何让列表中的每一项都播放它正在显示的文件。因此,在这一点上,测试土司应该显示对吗?只需将被触摸列表项的位置传递给一个方法或其他东西。然后在方法中,根据传递的位置显示内容。(根据您提供的代码,位置为
int i