Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义ListView中的setOnItemClickListener不工作ActionBarSherlock_Java_Android_Listview - Fatal编程技术网

Java 自定义ListView中的setOnItemClickListener不工作ActionBarSherlock

Java 自定义ListView中的setOnItemClickListener不工作ActionBarSherlock,java,android,listview,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;

我用的是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);
        }

    }
}
import java.util.ArrayList;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.actionbarsherlock.app.SherlockListActivity;
公共类Inicio扩展Sherlocklist活动{
私有列表视图;
私人ArrayList listado;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mListView=getListView();
listado=newarraylist();
对于(int i=0;i<20;i++){
添加(新的大写字母(“Titulo”+i,“description”+i));
}
AdapterTortuales Adapter=新的AdapterTortuales(Inicio.this);
setListAdapter(Adapter);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共视图单击(适配器视图a、视图v、内部位置、长id){
Toast.makeText(ini.this,“hazlo”,0.show();
}
});
}
类适配器扩展了ArrayAdapter{
活动语境;
@抑制警告(“未选中”)
改编(活动上下文){
super(context,R.layout.lista,listado);
this.context=上下文;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气器=上下文。getLayoutInflater();
视图项=充气机。充气(R.layout.lista,空);
TextView titulo=(TextView)item.findViewById(R.id.titulo_艺术);
titulo.setText(((capitalulos)getItem(position)).getitulo();
TextView subtitulo=(TextView)item.findViewById(R.id.desc_art);
subtitulo.setText(((大写)getItem(position)).getDescrip());
退货(项目);
}
}
}

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


可能与您的问题无关,但您为什么要在
getView
中定义新的
view
item
),而不是膨胀
convertView
item.setOnClickListener(.....