Java 如何使用自定义适配器为列表视图中的项目设置ItemClickListener?
我有一个带有自定义适配器(简单适配器)的列表视图,例如,通过以下代码:Java 如何使用自定义适配器为列表视图中的项目设置ItemClickListener?,java,android,Java,Android,我有一个带有自定义适配器(简单适配器)的列表视图,例如,通过以下代码:androidListView.setAdapter(simpleAdapter)所以,我有一个图像视图,想做一个点击监听器,但我有一个listview点击监听器。我写了这段代码: img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
androidListView.setAdapter(simpleAdapter)代码>所以,我有一个图像视图,想做一个点击监听器,但我有一个listview点击监听器。我写了这段代码:
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + listViewnumber));
startActivity(intent);
}
});
但它不起作用,你知道怎么解决吗?你把代码放在哪里了?在CustomAdapter类中
尝试这样做:
SearchActivity.java
final ListView result_list = (ListView) findViewById(R.id.result_list_view);
final ResultsListCustomAdapter adapter = new ResultsListCustomAdapter(this);
result_list.setAdapter(adapter);
ResultListCustomAdapter.java:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final SearchResultViewHolder viewHolder;
if (convertView == null) {
viewHolder = new SearchResultViewHolder();
convertView = inflater.inflate(R.layout.search_results_list_item, parent, false);
viewHolder.wordTextView = (TextView) convertView.findViewById(R.id.Result_TextView);
viewHolder.addToFavsImgButton = (ImageButton) convertView.findViewById(R.id.add_to_favs_button);
convertView.setTag(viewHolder);
} else {
viewHolder = (SearchResultViewHolder) convertView.getTag();
}
viewHolder.wordTextView.setText(results.get(position));
viewHolder.wordTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Intent play_activity_intent = new Intent(context, PlayActivity.class);
//Pulsante FAV
viewHolder.addToFavsImgButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Utility.addFavs(context, viewHolder.wordTextView.getText().toString());
Toast.makeText(context, "Added to favorites", Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
规则是一样的。假设这是您的简单适配器simpledapter Adapter=newsimpledapter(this,val1,R.layout.mytask,newstring[]{“a”,“c”,“b”},newint[]{R.id.View1,R.id.View2,R.id.ViewStatus}{@Override public View getView(int-position,View-convertView,ViewGroup-parent){View v=super.getView(position,convertView,parent);//在这里重写你的按钮return v;}
没有测试代码,这不是我的,但我以前做过。告诉我,我们会解决这个问题的。让我知道。好的,明天我会试试,因为我现在要睡觉了