自定义ListView中的setOnItemClickListener不工作ActionBarSherlock

时间:2013-05-13 22:45:22

标签: java android listview

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

此代码在2.x中运行良好,但在4.x

中运行不正常

点击仅适用于版本2.x无法在4.x版本中工作我尝试了很多方法而且我无法进行点击功能

问题是什么?

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

    }
}

1 个答案:

答案 0 :(得分:0)

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

item.setOnClickListener(.....