Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid ArrayAdapter doesn't return?
    primarykey
    data
    text
    <p>I have created following adapter:</p> <pre><code>package org.virtualbet.gui.util; import java.util.List; import org.virtualbet.R; import org.virtualbet.model.Tip; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; public class TipListAdapter extends ArrayAdapter&lt;Tip&gt; { private final Context context; private List&lt;Tip&gt; values; public TipListAdapter(Context context, int textViewResourceId, List&lt;Tip&gt; objects) { super(context, textViewResourceId, objects); //super(context, R.layout.rowlayout, values); this.context = context; this.values = objects; } @Override public View getView(int position, View convertView, ViewGroup parent) { try { View v = convertView; if (v == null) { LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.row_tip, null); } Tip tip = values.get(position); if (tip!=null) { ((TextView)v.findViewById(R.id.textviewtipid)).setText((CharSequence)tip.getTipNumber()); ((TextView)v.findViewById(R.id.textviewtiprepresentation)).setText((CharSequence)tip.getTipRepresentation()); ((TextView)v.findViewById(R.id.textviewtipresult)).setText((CharSequence)tip.getDetails()); ((TextView)v.findViewById(R.id.textviewtipid)).setText((CharSequence)tip.getTipOptions()); return v; } return null; } catch (Throwable t) { Log.e("A", t.toString()); return null; } } } </code></pre> <p>ListView xml looks like this:</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="wrap_content" android:layout_height="wrap_content"&gt; &lt;TextView android:text="TextView" android:id="@+id/textviewtipid" android:layout_width="wrap_content" android:layout_height="wrap_content" &gt; &lt;/TextView&gt; &lt;TextView android:text="TextView" android:id="@+id/textviewtiprepresentation" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;/TextView&gt; &lt;TextView android:text="TextView" android:id="@+id/textviewtipresult" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;/TextView&gt; &lt;TextView android:text="TextView" android:id="@+id/textviewtipplayed" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;/TextView&gt; &lt;/LinearLayout&gt; </code></pre> <p>getView method is called...all textviews change their values...and after last change (no matter which one is it) program goes into catch part???</p> <p>Why? Did anyone have problems like this? I've read somewhere that's a project (eclipse) issue....</p> <p>Oh yes, place where I am changing model is:</p> <pre><code>package org.virtualbet.gui; import java.util.ArrayList; import java.util.List; import org.virtualbet.R; import org.virtualbet.bll.TipBLL; import org.virtualbet.gui.util.TipListAdapter; import org.virtualbet.model.Ticket; import org.virtualbet.model.Tip; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; public class FollowTicket extends Activity { private static final String TAG = "FollowTicket"; private TipBLL bll; private TipListAdapter tipListAdapter; private ListView lv; private List&lt;Tip&gt; tips; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.follow_ticket); bll = new TipBLL(); tips = new ArrayList&lt;Tip&gt;(); tipListAdapter = new TipListAdapter(this.getApplicationContext(), R.layout.row_tip, tips); lv = ((ListView)findViewById(R.id.listViewTips)); lv.setAdapter(tipListAdapter); ((Button)findViewById(R.id.buttonSearchForTicket)).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { searchTicket(((EditText)findViewById(R.id.editTextSerialNumber)).getText().toString()); } }); } private void searchTicket (String serialNumber) { Log.i(TAG, "Searching ticket " + serialNumber); Ticket ticket = bll.getTicket(serialNumber); if (ticket != null){ Log.i(TAG, "Found it!"); tips.clear(); for (Tip tip : ticket.getTips()) { Log.i(TAG, "Adding tip " + tip.getTipNumber()); tips.add(tip); } tipListAdapter.notifyDataSetChanged(); } else { Log.i(TAG, "Didn't find it!"); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    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