2011-09-13 32 views
0

我有一個想要在窗口小部件內部顯示的項目列表。如何使用下一個按鈕顯示窗口小部件中的項目

有人告訴我,我應該有一個小工具上的下一個按鈕來顯示每個項目。

問題是我需要知道這是如何工作的。將隨着用戶點擊下一個將加載每個項目?

我想要的物品全部裝入一次,然後用戶能夠通過他們點擊下一個按鈕..

能有人給我更大的detials對此有何看法?或者一個例子或教程將是偉大的。

感謝

編輯:

,所以我有項目名稱的列表,以及關於它們的一些信息從HTML加載到一個ArrayList。

我想要做的是在wigdet中顯示項目。 ListView不允許在任何3.0以上的操作系統中使用。

什麼是或如何最好的方法來解決這個顯示項目?

+0

你能澄清一下你想做什麼嗎? – slayton

+0

檢查我的編輯以上 –

回答

2

您應該創建一個自定義用戶界面組件,包含您希望列表項包含的所有內容。

然後在MyUIComponent.java類的構造函數中將此項目與任何需要註冊的偵聽器一起充氣。

使用ListAdapter將存儲在數組/列表中的所有這些UI組件指向ListView。

這就是我在2.2中做到的。工作很棒!

讓我知道你是否需要代碼。

編輯:

自定義列表適配器:

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; 
} 
} 

在你的活動:

調用此設置你的列表:

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); 
} 

調用此來填充ListView控件項目:

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

哇,我愛它!非常非常好的主意!是的,一些代碼將是偉大的,例如,和參考。 –

+0

檢查我的編輯。應該讓你開始。 – Codeman

+0

那麼你是如何創建下一個按鈕來讓用戶瀏覽項目的? –

相關問題