【问题标题】:Using setOnItemClickListener for items in listview对列表视图中的项目使用 setOnItemClickListener
【发布时间】:2011-02-14 14:00:53
【问题描述】:

我有一个将音频保存在 SD 卡上的应用程序。我创建了一个从 sdcard 中检索文件名的列表视图。我正在尝试设置一个侦听器,以便在单击文件名时可以启动另一个播放该文件的意图。当我尝试设置监听器并传入一个新的OnItemClickListener() 时,eclipse 是红色下划线。我知道我必须实现onItemclick(),这是我认为应该去的地方。

代码:

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) {
            }
        } );
    }
}

【问题讨论】:

  • 什么是 Eclipse 红色下划线? OnItemClickListener 或您在 onItemClick 方法中未列出的一些代码?无论如何,Eclipse 可以很好地为您提供有关为什么它在某些内容上加红色下划线的反馈。

标签: android listview


【解决方案1】:
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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多