2011-02-14 72 views
4

大家好项目得到了保存在SD卡上的音频应用程序。我创建了一个从SD卡中检索文件名的列表视图。我试图设置一个侦听器,以便在文件名被点击,我可以启动另一个意图播放该文件。当我尝试设置监听器,并通过在新OnItemClickListener()日食是红色下划线它。我明白我必须实现onItemclick(),这是我认为的意图应该去。有任何想法吗?使用setOnItemClickListener在列表视图

感谢

代码:

package com.tecmark; 

import java.io.File; 
import java.util.ArrayList; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 
import android.util.Log; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.AdapterView.OnItemSelectedListener; 

public class SdGetList extends Activity { 
    private ListView lv1; 
    private String[] lv_arr; 
    private ArrayList<String> arr; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.listlayout); 
     arr = new ArrayList<String>(); 

     File sdCardRoot = Environment.getExternalStorageDirectory(); 
     Log.i("root on sd =", ""+ sdCardRoot.getPath()); 

     for (File f : sdCardRoot.listFiles()) { 
      if (f.isFile()){ 
       String name = f.getName(); 
       arr.add(name); 
       Log.i("arr is empty?******", ""+arr.isEmpty()); 
      } 
      else { 
       Log.i("file", " no file"); 
      } 
      Log.i("arr******", ""+arr.size()); 
     } 
     lv_arr = new String[arr.size()]; 

     for(int i=0 ; i<arr.size();i++) { 
      lv_arr[i] = arr.get(i); 
     } 

     lv1=(ListView)findViewById(R.id.ListView01); 
     // By using setAdpater method in listview we an add string array in list. 
     lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr)); 
     lv1.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      } 
     }); 
    } 
} 
+0

什么是Eclipse红色下划线? OnItemClickListener,或者你放入onItemClick方法的代码,这里没有列出?无论如何,Eclipse非常好,可以为您提供反馈,说明为什么它会突出显示某些内容。 – Rich 2011-02-14 14:13:53

回答

14
list.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     Intent i = new Intent(ClassName.this,CourtDetailActivity.class); 
     startActivity(i); 
    }); 
} 

这是代码工作正常,我认为你不进口吹塑包装

import android.widget.AdapterView.OnItemClickListener; 

,就把这行要导入的部分应用程序 我希望这是帮助;

2

检查类进口你的java文件。在Eclipse:按Ctrl + Shift + O

相关问题