我想創建列表視圖。我從JSON中獲得了價值。在這裏,我從json的值到listview,但我無法得到onItemclickListener方法。爲什麼發生這種情況我不知道,請幫我編碼,如下所示。如何創建列表視圖onItemclicklistener
Logcat不顯示任何東西。
謝謝。
<ListView
android:id="@+id/contests_listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/header"
android:focusable="true">
</ListView>
Activity.java
public class Activites_Activity extends CheerfoolznativeActivity {
private ListView contests_listView;
private ProgressBar pgb;
ActivitiesBean bean;
ArrayList<Object> listActivities;
ListAdapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
setHeader("Activites");
contests_listView = (ListView) findViewById(R.id.contests_listView);
pgb = (ProgressBar) findViewById(R.id.contests_progressBar);
listActivities = new ArrayList<Object>();
new FetchActivitesTask().execute();
}
public class FetchActivitesTask extends AsyncTask<Void, Void, Void> {
int i =0;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pgb.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
String url = "my json URL";
String strResponse = util.makeWebCall(url);
try {
//my json logic here
}
catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
public void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
pgb.setVisibility(View.GONE);
displayAdapter();
}
}
public void displayAdapter()
{
adapter = new ListAdapter(this, listActivities);
contests_listView.setAdapter(adapter);
contests_listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long id) {
// Toast.makeText(getApplicationContext(),"Title => "+items.get(position), Toast.LENGTH_SHORT).show();
System.out.println("=========== Click");
bean = (ActivitiesBean) adapter.getItem(position);
Intent in1 = new Intent(Activites_Activity.this, Activity_display.class);
in1.putExtra("ActivityObject", bean);
startActivity(in1);
}
});
}
}
我也用這個
contests_listView.setItemsCanFocus(true);
它顯示在ListView項目?並打印出===========單擊一個項目時在日誌中點擊'? – waqaslam 2012-04-24 09:34:47
你嘗試過setOnItemSelectedListener嗎?我認爲它可能默認調用這個監聽器? – MikeIsrael 2012-04-24 09:46:27
@Waqas,是的,我在listview中獲得了值,但不顯示點擊日誌,也不顯示吐司。 – 2012-04-24 09:59:07