打开一个新活动以在listitemclick上播放项目

时间:2013-08-18 22:40:19

标签: android listview onclick playback

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

    });
 }
}

1 个答案:

答案 0 :(得分:0)

我认为您的问题是因为您在未调用的方法中设置了onCLickListener()。您应该在ListView初始化之后设置监听器,并调用方法来执行您的操作(或者使用onItemClick覆盖方法执行此操作。)

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

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