我正在使用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);
}
}
}
答案 0 :(得分:0)
尝试在arrayyAdapter
类中将其定义为onClickListener()
:
item.setOnClickListener(.....