繁体   English   中英

如何使用自定义适配器为列表视图内的项目设置ItemClickListener?

[英]How to set an ItemClickListener for an item inside the list view with custom adapter?

我有一个带有自定义适配器(简单适配器)的列表视图,例如通过以下代码: androidListView.setAdapter(simpleAdapter); 所以,我有一个图像视图,想做一个点击监听器,但是我有一个列表视图点击监听器。 我写了这段代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM