1

我是Android的初学者。我用Image创建了我的OnItemListenerListView,但当我点击列表项时,我的应用崩溃了,但是ListView中的图像的OnItemClickListener不起作用

这里我MainActivity.java

package com.listview.test.arrayadapter; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
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 l1; 
// RelativeLayout r1; 
    TextView t1; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     l1= (ListView) findViewById(R.id.listview); 
//  r1= (RelativeLayout) findViewById(R.id.activity_main); 

    String[] list = {"item1","item2","item3","item4","item5","item6","item7","item8","item9","item10"}; 
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.single_view , R.id.textview, list); 

     l1.setAdapter(adapter); 
     l1.setOnItemClickListener(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

什么是你在控制台得到的异常 –

+0

也分享你的'R.layout.single_view'。 –

回答

0

我觉得你得到一个例外,因为你R.layout.single_view不是TextView和你特林它转换成说。做这样的事情代替:

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