2016-04-28 27 views
0

私は練習に使用しているコードに問題がありました。 事は、チュートリアルをしている人のために働くことですが、それは私のためには動作しません。私の質問はどのように私はそれを修正するのですか?それは後で私にlogcatアンドロイドアプリからのエラーsetOnClickListener

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

は、http([-アンドロイド-リストビュー-onitemclick-イベントを処理します]。 com/tutorial/handling-android-listview-onitemclick-event) –

答えて

7

あなたはsetOnClickListenerを呼び出し、OnItemClickListenerに渡している中、このエラーが発生します

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

     ); 
    } 
} 

。これに

bryansListView.setOnClickListener(...)

:この

変更//www.ezzylearning:

bryansListView.setOnItemClickListener(...)

+0

ありがとうございました! –

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

     } 
    }); 
関連する問題