繁体   English   中英

自定义ListView中的setOnItemClickListener不起作用ActionBarSherlock

[英]setOnItemClickListener in custom ListView not Work ActionBarSherlock

我正在使用ActionBar Sherlock,并且工作正常。

该代码在2.x中可以正常工作,但在4.x中则不能

单击仅在2.x版本中有效,而在4.x版本中无效,我已经尝试了很多方法,但无法使用click功能

问题是什么?

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.actionbarsherlock.app.SherlockListActivity;

public class Inicio extends SherlockListActivity {
    private ListView mListView;
    private ArrayList<Capitulos> listado;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mListView = getListView();

        listado = new ArrayList<Capitulos>();

        for(int i = 0; i < 20; i++){
            listado.add(new Capitulos("Titulo " + i, "descripcion " + i));
        }

        AdaptadorTitulares adaptador = new AdaptadorTitulares(Inicio.this);
        setListAdapter(adaptador);
        mListView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                Toast.makeText(Inicio.this, "hazlo", 0).show();
            }
        });
    }

    class AdaptadorTitulares extends ArrayAdapter {
        Activity context;

        @SuppressWarnings("unchecked")
        AdaptadorTitulares(Activity context) {
            super(context, R.layout.lista, listado);
            this.context = context;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = context.getLayoutInflater();
            View item = inflater.inflate(R.layout.lista, null);

            TextView titulo = (TextView)item.findViewById(R.id.titulo_art);
            titulo.setText(((Capitulos)getItem(position)).getTitulo());
            TextView subtitulo = (TextView)item.findViewById(R.id.desc_art);
            subtitulo.setText(((Capitulos)getItem(position)).getDescrip());

            return(item);
        }

    }
}

尝试在arrayyAdapter类中将其定义为arrayyAdapter onClickListener()

item.setOnClickListener(.....

暂无
暂无

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

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