我正在使用 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);
}
}
}