Tôi muốn tạo listview. Tôi nhận được giá trị từ JSON. Ở đây tôi có giá trị từ json vào listview nhưng tôi không thể có được phương thức onItemclickListener. Tại sao điều này xảy ra tôi không biết, Xin vui lòng giúp tôi mã hóa của tôi như hình dưới đây.Cách tạo listview trênItemclicklistener
Logcat không hiển thị bất kỳ thứ gì.
Cảm ơn.
<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);
}
});
}
}
tôi cũng sử dụng này
contests_listView.setItemsCanFocus(true);
nó hiển thị các mục trong ListView? và nó in '=========== Nhấp vào 'trong nhật ký khi bạn nhấp vào một mục? – waqaslam
bạn đã thử setOnItemSelectedListener chưa? Tôi nghĩ rằng nó có thể mặc định gọi đó là người nghe? – MikeIsrael
@Waqas, vâng tôi nhận được giá trị trong listview nhưng không hiển thị nhấp chuột trong nhật ký, cũng không hiển thị bánh mì nướng. –