开发者

How to display items in a widget with a next button

I have a a list of items i want to display inside of a widget.

I was told that i should have a next button on the widget to show each item.

The question is i need to know how this works..Will each item be loaded as the user hits next?

I want the items to all load at once, and then the user be able to click thro开发者_运维技巧ugh them with the next button..

Could some one give me greater detials on this? or an example or tutorial would be great.

Thanks

EDIT:

SO i have a list of Item Titles, and Some info about them loaded from html into an ArrayList.

What i want to do is display the items in a wigdet. ListView is not allowed in any os older then 3.0.

What is or how is the best way to get around this to display the items?


You should create a custom UI component with everything you want the list item to contain.

Then inflate this item in a MyUIComponent.java class constructor, along with any listeners you need to register.

Use a ListAdapter to point all of these UI components stored in an array/List to to ListView.

This is how I did it in 2.2. Worked great!

Let me know if you need code.

EDIT:

Custom List adapter:

public class CatalogItemAdapter extends ArrayAdapter<Product> //
{
private ArrayList<Product> products;
private Activity activity;

public CatalogItemAdapter(Context context, int textViewResourceId,
        ArrayList<Product> items, Activity activity) //
{
    super(context, textViewResourceId, items);
    this.products = items;
    this.activity = activity;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) //
{
    Product product = products.get(position);

    if (convertView == null) //
    {
        LayoutInflater vi = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = vi.inflate(R.layout.catalog_item_stub, null, false);
            //this is the layout resource for each item
    }

    TextView priceView = (TextView) convertView
            .findViewById(R.id.ProductPrice);
    TextView titleView = (TextView) convertView
            .findViewById(R.id.ProductTitle);

    priceView.setText(price);
    titleView.setText(product.DisplayName);

    return convertView;
}
}

In your activity:

Call this to setup your List:

protected void setupUIElements(Activity activity) //
{

    listView = (ListView) activity.findViewById(R.id.CatalogProducts);

    m_adapter = new CatalogItemAdapter(activity,
            R.layout.catalog_item_stub, products, activity);

    listView.setAdapter(m_adapter);
}

Call this to fill the ListView with items:

void fillListView(final ProductResponse response) //
{
    for (Product p : response.Products) //
    {
        products.add(p);
    }
    progDialog.dismiss();
    m_adapter.notifyDataSetChanged();
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜