2011-02-14 70 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

相關問題