问题描述
我想创建ListView.我从json得到了价值.在这里,我从json进入listview的值,但我无法获得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>
活动.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);
推荐答案
试用:
contests_listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view,int position, long id) { String item = (String) contests_listView.getItemAtPosition(position); Toast.makeText(this,"You selected : " + item,Toast.LENGTH_SHORT).show(); } });
其他推荐答案
试用此代码:
protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Toast.makeText(this, "message", Toast.LENGTH_LONG).show(); }
其他推荐答案
使用这个:
contests_listView.setOnItemClickListener(new AdapaterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) { Intent in1 = new Intent(Activites_Activity.this, Activity_display.class); startActivity(in1); } });
问题描述
I want to create listview. I got the value from the JSON. Here I got the value from the json into listview but i can't get the onItemclickListener method. Why this is happening I don't know ,Please help me my coding as shown below.
Logcat is not displaying anything.
Thanks.
<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); } }); } }
I also use this
contests_listView.setItemsCanFocus(true);
推荐答案
Try this :
contests_listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view,int position, long id) { String item = (String) contests_listView.getItemAtPosition(position); Toast.makeText(this,"You selected : " + item,Toast.LENGTH_SHORT).show(); } });
其他推荐答案
Try this code:
protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Toast.makeText(this, "message", Toast.LENGTH_LONG).show(); }
其他推荐答案
Use This:
contests_listView.setOnItemClickListener(new AdapaterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) { Intent in1 = new Intent(Activites_Activity.this, Activity_display.class); startActivity(in1); } });
相关问答
带有OnItemClickListener的ListView
使用ArrayAdapter的ListView的OnItemClickListener
带有OnItemClickListener的ListView android
ListView中的ViewPager和OnItemClickListener
android listview onItemClickListener失败
ListView的OnItemClickListener未被监听
ListView中的OnItemClickListener和OnClickListener
为片段中的ListView设置OnItemClickListener
具有新活动的ListView OnItemClickListener
使用SimpleCursorAdapter的ListView OnItemClickListener不工作