Note that there are some explanatory texts on larger screens.

plurals
  1. POLoad data to android list view with record id and pass the exact record id onListItemClick
    primarykey
    data
    text
    <p>Im getting my data from a web service and loads to a list view. Which is working fine. but When I click on a particular list item I need to pass the id of that record (Id should is coming from the database) to another activity. Here is the code where I populate the array</p> <pre><code>public String[] getNames(String response){ String[] friends = null; try { JSONObject json = new JSONObject(response); String values = json.getString("friends"); JSONArray jsonArray = new JSONArray(values); friends = new String[jsonArray.length()]; //Bundle b = new Bundle(); for (int i = 0; i &lt; jsonArray.length(); i++) { friends[i] = jsonArray.getJSONObject(i).getString("fname")+ " " + jsonArray.getJSONObject(i).getString("lname") ; friends[i+1] = jsonArray.getJSONObject(i).getString("id"); //i++; //friends[i]= jsonArray.getJSONObject(i).getString("id"); } } catch (Exception e) { e.printStackTrace(); } return friends; } </code></pre> <p>This is the code Im trying to get the name and the ids</p> <pre><code>@Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); // Get the item that was clicked Object o = this.getListAdapter().getItem(position); String name = o.toString(); Object x = this.getListAdapter().getItem(position+1); String userid= x.toString(); Toast.makeText(this, "You selected: " + name +"The Id: "+userid, Toast.LENGTH_LONG) .show(); } </code></pre> <p>This is my xml file for the list view</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="#ffffff" &gt; &lt;ImageView android:id="@+id/icon" android:padding="2dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/man" /&gt; &lt;TextView android:id="@+id/txtName" android:layout_width="210px" android:layout_height="60px" android:padding="4dp" android:textSize="12sp" android:textColor="#000000" android:background="#ffffff" /&gt; &lt;/LinearLayout&gt; </code></pre> <p>This is how I populate the list view</p> <pre><code>public void setTheList(String response){ String friends[] = getNames(response); ListView lv = getListView(); lv.setTextFilterEnabled(true); if(adapter==null){ LayoutInflater inflater = getLayoutInflater(); ViewGroup header = (ViewGroup)inflater.inflate(R.layout.header, lv, false); lv.addHeaderView(header, null, false); } adapter = new MyArrayAdapter(this, friends); this.setListAdapter(adapter); } } </code></pre> <p>This is my Adapter. I got it from <a href="http://www.vogella.de/articles/AndroidListView/article.html" rel="nofollow">here</a></p> <pre><code>package virtualpathum.web; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; public class MyArrayAdapter extends ArrayAdapter&lt;String&gt; { private final Activity context; private final String[] names; public MyArrayAdapter(Activity context, String[] names) { super(context, R.layout.friend, names); this.context = context; this.names = names; } // static to save the reference to the outer class and to avoid access to // any members of the containing class static class ViewHolder { public ImageView imageView; public TextView textView; public ImageButton ibConfirm; public ImageButton ibNotNow; } @Override public View getView(int position, View convertView, ViewGroup parent) { // ViewHolder will buffer the assess to the individual fields of the row // layout ViewHolder holder; // Recycle existing view if passed as parameter // This will save memory and time on Android // This only works if the base layout for all classes are the same View rowView = convertView; if (rowView == null) { LayoutInflater inflater = context.getLayoutInflater(); rowView = inflater.inflate(R.layout.friend, null, true); holder = new ViewHolder(); holder.textView = (TextView) rowView.findViewById(R.id.txtName); holder.imageView = (ImageView) rowView.findViewById(R.id.icon); //holder.ibConfirm = (ImageButton) rowView.findViewById(R.id.ibNotNow); //holder.ibNotNow= (ImageButton) rowView.findViewById(R.id.ibNotNow); rowView.setTag(holder); } else { holder = (ViewHolder) rowView.getTag(); } holder.textView.setText(names[position]); // Change the icon for Windows and iPhone String s = names[position]; holder.imageView.setImageResource(R.drawable.man); return rowView; } } </code></pre> <p>Really appreciate if you have idea about this Thanks Pathum</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload