2016-04-28 6 views
0

Hey Leute, ich habe Probleme mit einem Code, den ich für die Praxis verwende. Die Sache ist, dass es für den Typ funktioniert, der das Tutorial gibt, aber es funktioniert nicht für mich. Meine Frage ist, wie repariere ich es?Fehler setOnClickListener von einer Android App

package bt.sismo; 


import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast;// 
import android.widget.ListView;// 
import android.widget.ListAdapter;// 
import android.widget.ArrayAdapter;// 
import android.widget.AdapterView;// 
import android.app.Activity;// 

public class MainActivity extends Activity { 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     String[] foods = {"Bacon", "Ham", "Tuna", "Candy", "Meatball", "Potato"}; 
     ListAdapter bryansAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foods); 
     ListView bryansListView = (ListView) findViewById(R.id.bryansListView); 
     bryansListView.setAdapter(bryansAdapter); 

     bryansListView.setOnClickListener(
       new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
         String food = String.valueOf(parent.getItemAtPosition(position)); 
         Toast.makeText(MainActivity.this, food, Toast.LENGTH_LONG).show(); 
        } 
       } 

     ); 
    } 
} 

Es gibt mir später diesen Fehler in der logcat

Error:(26, 23) error: no suitable method found for setOnClickListener(<anonymous OnItemClickListener>) 
    method View.setOnClickListener(OnClickListener) is not applicable 
    (argument mismatch; <anonymous OnItemClickListener> cannot be converted to OnClickListener) 
    method AdapterView.setOnClickListener(OnClickListener) is not applicable 
    (argument mismatch; <anonymous OnItemClickListener> cannot be converted to OnClickListener) 

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. 
> Compilation failed; see the compiler error output for details. 
+0

[Handling-android-Listview-onitemclick-Ereignis] (http: //www.ezzylearning. com/tutorial/handling-android-listview-onitemclick-event) –

Antwort

7

Sie die setOnClickListener aufrufen und in einer OnItemClickListener. diese

Wechsel:

bryansListView.setOnClickListener(...)

Um dies:

bryansListView.setOnItemClickListener(...)

+0

Vielen Dank! –

1
 bryansListView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 

      String food = String.valueOf(parent.getItemAtPosition(position)); 
        Toast.makeText(MainActivity.this, food, Toast.LENGTH_LONG).show(); 

     } 
    }); 
Verwandte Themen