爲了受益於ABS的所有優點,我在SherlockActivity
中更改了我的初始活動。爲此我使用ListAdapterAnSco extends BaseAdapter
。 現在我想管理我的ListAdapter
中的onclick
和onLongClick
getView
。 我使用了幾種組合,但我無法做到。Android如何更改OnClickListener代碼中的OnItemClickListener代碼
注:我用的是SQLiteCursor
獲得項目
原始OnItemClickListener代碼
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Intent intent = new Intent(getApplicationContext(),ListPeriode.class);
SQLiteCursor cr=(SQLiteCursor)parent.getItemAtPosition(position);
String ansco=cr.getString(cr.getColumnIndex(DatabaseHelper.ANSCO));
AnSco an=new AnSco(ansco);
an.setIdan((int)id);
Toast.makeText(getApplicationContext(), "Année Scolaire: "+an.getAnsco(), Toast.LENGTH_LONG).show();
intent.putExtra("ANSCO_ID", an.getIdan());
intent.putExtra("ANSCO_AN", an.getAnsco());
cr.close();
startActivity(intent);
finish();
}
如何在一個onclick梅索德做同樣的工作,改變這種代碼?
我getView
public View getView(final int position, View view, ViewGroup parent) {
final ViewHolder holder;
if (view == null) {
holder = new ViewHolder();
view = inflater.inflate(R.layout.annee_sco_item, null);
// Locate the TextViews in listview_item.xml
holder.an = (TextView) view.findViewById(R.id.ansco_item);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
// Set the results into TextViews
holder.an.setText(listAnsco.get(position).getAnsco());
// Listen for ListView Item Click
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
}
});
return view;
}
沒有你的onClickListener工作完美的課嗎? –
將SQLiteCursor cr傳遞給您的適配器構造函數。 – sss
你的onItemClick()在哪裏? –