我正在尝试对项目单击监听器进行操作,但是当我这样做时,应用程序崩溃了,我不知道为什么这是我正在使用的代码。它一直崩溃,请帮助
package com.embid2.myapplication;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
ListView listView;
String[] menutitles;
int[] imges={R.drawable.iconfinder_food__dish__kitchen__3653390,R.drawable.iconfinder_pages_1118205,R.drawable.iconfinder_special_price_5418372};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Resources res =getResources();
menutitles=res.getStringArray(R.array.titles);
listView=(ListView) findViewById(R.id.list);
myadapter myadapter=new myadapter(this,menutitles,imges);
listView.setAdapter(myadapter);
}
}
class myadapter extends ArrayAdapter<String>
{
Context context;
int[] imges;
String[] titles;
myadapter(Context c,String[]titles,int[] imges)
{
super(c,R.layout.single_row,R.id.text,titles);
this.context=c;
this.imges=imges;
this.titles=titles;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.single_row,parent,false);
ImageView myimage =(ImageView)row.findViewById(R.id.image);
TextView mytitle=(TextView)row.findViewById(R.id.text);
myimage.setImageResource(imges[position]);
mytitle.setText(titles[position]);
return row;
}
}
应用程序崩溃,因为没有任何可单击的方法。
在您的getView方法中,您可以设置点击监听器,如
myImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do some stuff
}
});