Thanks. This moved my understanding of whole BaseAdapter (which is not
data adapter at all). Now I am frozen on some casting unknown to me
(probably). I created code:

        public View getView(int position, View convertView, ViewGroup
parent) {
            // A ViewHolder keeps references to children views to
avoid unneccessary calls
            // to findViewById() on each row.
            ViewHolder holder;

            // When convertView is not null, we can reuse it directly,
there is no need
            // to reinflate it. We only inflate a new View when the
convertView supplied
            // by ListView is null.
            if (convertView == null) {
                convertView = mInflater.inflate
(R.layout.list_item_icon_text, null);

                // Creates a ViewHolder and store references to the
two children views
                // we want to bind data to.
                holder = new ViewHolder();
                holder.text = (TextView) convertView.findViewById
(R.id.text);
                holder.text2 = (TextView) convertView.findViewById
(R.id.text2);
                holder.icon = (ImageView) convertView.findViewById
(R.id.icon);

                convertView.setTag(holder);
            } else {
                // Get the ViewHolder back to get fast access to the
TextView
                // and the ImageView.
                holder = (ViewHolder) convertView.getTag();
            }

            // Bind the data efficiently with the holder.

            holder.text.setText(valArray2[position]);
            holder.text2.setText(valArray2[position]);
            holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 :
mIcon2);
            .......

Which is basically list14 example from SDK. But, holder.text.setText
(valArray2[position]); returns error that Array is expected and mine
is JSONArray. How to cast my JSONArray to expected format?



On Sep 30, 6:37 pm, Streets Of Boston <[email protected]> wrote:
> Implement your subclass of BaseAdapter (e.g. JSONArrayAdapter).
> Implement/override the getCount(), getItem(int position), etc. to make
> your BaseAdapter a proper list-adapter around your jsonarray.
>
> Implement the getView method; it provides the 'position' and
> 'contentView' parameters.
> - Use position and getItem(position) to obtain anjson-element from
> your jsonarray.
> - re-use contentView or create a brand-new one if it is null:
>   - Assign text/images to the contentView (or its child-view) based
> on
>     thejson-element you got.
>
> Then assign an instance of your JSONArrayAdapter to your list- or grid-
> view.
> And viola. It should work :)
>
> Take a look at the 'API Demo' in the Android SDK for examples.
>
> On Sep 29, 3:45 pm, vorcigernix <[email protected]> wrote:
>
> > Ok, I don't get a BaseAdapter logic, I assume because I am not used to
> > java. I found tons of examples on net (mostly for drawing pictures
> > etc) but it make no sense to me. For example, list4 from sdk do
> > something similar, but...where are they binding data? I see where data
> > is set to custom class, but what actually returns data from
> > BaseAdapter? GetView?
> > Thanks for any clarification
> > Adam
>
> > On Sep 28, 8:15 pm, Mark Muphy <[email protected]> wrote:
>
> > > vorcigernix wrote:
> > > > Hello,
> > > > I made my application from various examples and sources, so now I have
> > > > filled jsonarray and preparedlistview(with custom rows formatting).
> > > > Now I need to replace
>
> > > > ListAdapter myAdapter =(new ArrayAdapter<String>
> > > > (this,R.layout.rowlayout, R.id.TextView01, values));
>
> > > > with myjsonarray based adapter. All I found is some technique to
> > > > iterate through alljsonrecords and construct string array. It sound
> > > > like perverse to me, is it really necessary?
>
> > > Create your own adapter class from BaseAdapter, and you can traverse
> > > yourJSONhowever you want.
>
> > > --
> > > Mark Murphy (a Commons 
> > > Guy)http://commonsware.com|http://twitter.com/commonsguy
>
> > > Need Android talent? Ask on HADO!http://wiki.andmob.org/hado-Hide quoted 
> > > text -
>
> > - Show quoted text -
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to