2017-03-10 22 views
0

我收到错误l.setOnClickListener(this);它说,在adapterview东西setOnclicklistner不能应用等安卓:setonclicklistener在适配器视图不能应用于

import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Adapter; 
    import android.widget.AdapterView; 
    import android.widget.ArrayAdapter; 
    import android.widget.ListView; 
    import android.widget.TextView; 
    import android.widget.Toast; 

    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { 
    ListView l; 
    String[] days={"Sunday","monday","tuesday","wedensday","thursday","friday","saturday"}; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     l=(ListView)findViewById(R.id.listView); 
     ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,days); 
     l.setAdapter(adapter); 
     l.setOnClickListener(this); 
    } 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     TextView temp=(TextView)view; 
     Toast.makeText(this,""+temp.getText()+" "+position,Toast.LENGTH_LONG).show(); 

    } 
} 
+0

您onItemClick被调用或不 –

回答

1

您需要使用setOnItemClickListener,而不是setOnClickListener

l.setOnItemClickListener(this); 
+1

由于它的工作 –

0

试试这个,

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

     } 
    }); 

OR

l.setOnItemClickListener(this); 
+0

它的工作,但ü可以解释为什么setOnClickListener didntl工作,但setOnItemClickListener的工作,是不是一样 –

相关问题