4 Stimmen

Verwendung von setOnItemClickListener für Elemente in der Listenansicht

Ich habe eine App, die Audio auf der SD-Karte speichert. Ich habe eine Listenansicht erstellt, die die Dateinamen von der SD-Karte abruft. Ich versuche, einen Hörer zu setzen, so dass, wenn der Dateiname angeklickt wird, ich eine andere Absicht, die diese Datei spielt starten kann. wenn ich versuche, den Hörer zu setzen und in einem neuen übergeben OnItemClickListener() Die Sonnenfinsternis ist rot unterstrichen. Ich verstehe, dass ich die onItemclick() Ich denke, dass die Absicht in diese Richtung gehen sollte.

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

0 Stimmen

Was bedeutet die rote Unterstreichung in Eclipse? Der OnItemClickListener oder ein Code, den Sie in die onItemClick-Methode einfügen, die hier nicht aufgeführt ist? Unabhängig davon ist Eclipse ziemlich gut darin, Ihnen Feedback zu geben, warum es etwas rot unterstreicht.

14voto

DynamicMind Punkte 4190
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);
    });
}

dies ist der Code richtig funktioniert ich denke, Sie nicht importieren Schlag Paket

import android.widget.AdapterView.OnItemClickListener;

Fügen Sie diese Zeile in den Importbereich der Anwendung ein

2voto

pawelzieba Punkte 16026

Überprüfen Sie die Klassenimporte in Ihrer Java-Datei. In Eclipse: Ctrl + Shift + O

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X