使用setOnItemClickListener在列表视图项目视图、项目、列表、setOnItemClickListener

2023-09-06 15:36:05 作者:我爱你爱的歇斯底里

大家好有一个应用程序,节省了音频的SD卡。我创建了一个列表视图以检索filesnames从SD卡。我试图设置一个侦听器,这样当文件名被点击,我可以启动另一个意图播放该文件。当我尝试设置监听器,并通过在新OnItemClickListener()月食是红色的强调它。我明白我必须实现onItemclick(),这是我认为的意图应该去。任何想法?

感谢

code:

 包com.tecmark;

进口的java.io.File;
进口的java.util.ArrayList;

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

公共类SdGetList延伸活动{
    私人的ListView LV1;
    私有String [] lv_arr;
    私人的ArrayList<字符串> ARR;

    @覆盖
    公共无效的onCreate(包冰柱){
        super.onCreate(冰柱);
        的setContentView(R.layout.listlayout);
        ARR =新的ArrayList<字符串>();

        文件sdCardRoot = Environment.getExternalStorageDirectory();
        Log.i(根在SD =,+ sdCardRoot.getPath());

        对于(文件F:sdCardRoot.listFiles()){
            如果(f.isFile()){
                字符串名称= f.getName();
                arr.add(名称);
                Log.i(改编为空******?,+ arr.isEmpty());
            }
            其他 {
                Log.i(文件,没有文件);
            }
            Log.i(改编******,+ arr.size());
        }
        lv_arr =新的String [arr.size()];

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

        LV1 =(ListView控件)findViewById(R.id.ListView01);
        //通过使用列表视图setAdpater的方法,我们的加载字符串数组列表。
        lv1.setAdapter(新ArrayAdapter<字符串>(这一点,android.R.layout.simple_list_item_1,lv_arr));
        lv1.setOnItemClickListener(新OnItemClickListener(){
            公共无效onItemClick(适配器视图<>母公司视图中查看,INT位置,长的id){
            }
        });
    }
}
 

解决方案

  list.setOnItemClickListener(新OnItemClickListener(){
    公共无效onItemClick(适配器视图<>为arg0,查看ARG1,INT ARG2,长ARG3){
        意图I =新的意图(ClassName.this,CourtDetailActivity.class);
        startActivity(ⅰ);
    });
}
 

这是在code为正常工作,我认为你不进口一击包装

 进口android.widget.AdapterView.OnItemClickListener;
 
常用技巧 SqlServer 2012 数据库中给其它用户设置指定的表或视图的访问权限

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

Hi all got an app that saves audio on sd card. i've created a listview which retrieves the filesnames from the sdcard. i'm trying to set a listener so when the file name is clicked i can launch another intent that plays that file. when i try to set the listener and pass in a new OnItemClickListener() eclipse is red underlining it. i understand that i have to implement the onItemclick(), this is where i think the intent ought to go. any ideas?

thanks

Code:

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

解决方案

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

this is the code is properly working i think you do not import blow Package

import android.widget.AdapterView.OnItemClickListener;

put this line to import section of the application I hope this is help;