我有一個成功顯示爲listview作爲主要活動的數組。過去幾天我一直在使用很多教程來試圖找出從此列表視圖中單擊的項目開始不同活動的最佳方式。我已經看到了從switch語句到變量調用類的一切,但似乎沒有任何工作。我可能會使用if語句,但我的列表超過了120個條目。有什麼建議麼?從點擊的列表視圖開始新活動的最佳方式
1
A
回答
1
你爲什麼不把該類作爲該項目的參數?
package com.ybi;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class YbiListActivity extends ListActivity
{
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
ClickableItem[] values = new ClickableItem[1];
// here you can add your label and your activity
values[0] = new ClickableItem("Hello", YbiListActivity.class);
ArrayAdapter<ClickableItem> adapter = new ArrayAdapter<ClickableItem>(this, android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
ClickableItem item = (ClickableItem) getListAdapter().getItem(position);
Intent intent = new Intent(YbiListActivity.this, (Class<?>) item.itemClass);
startActivity(intent);
Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
}
private class ClickableItem
{
public String itemLabel;
public Object itemClass;
public ClickableItem(String ilabel, Object iclass)
{
itemLabel = ilabel;
itemClass = iclass;
}
@Override
public String toString()
{
return itemLabel;
}
}
}
0
您可以在arrays.xml中創建兩個新數組(list_items和list_item_activities) 然後,當選擇某個項目時,可以使用其索引來查找關聯的活動。
<string-array name="list_items">
<item>ExampleActivity</item>
...
</string-array>
<string-array name="list_item_activities">
<item>com.example.app.ExampleActivity</item>
...
</string-array>
要解釋一點,你可以使用list_items創建列表:
String[] list = getResources().getStringArray("list_items");
for(int i = 0; i < list.length; i++){
// add the item
}
然後單擊該項目時:
public void onListItemClick(ListView l, View v, int position, long id){
String[] activities = getResources().getStringArray("list_item_activities");
// activities[position] is what you would use
}
相關問題
- 1. 網格視圖在圖像上開始新的活動點擊
- 2. 簡單的點擊列表視圖並開始新的活動 - (不可能)
- 3. Android-在列表視圖上打開新活動點擊
- 4. D3:從頭開始添加新節點的最佳方式
- 5. 在列表視圖中開始活動
- 6. 如何在點擊圖像和texxt的列表視圖中打開新活動
- 7. 如何在點擊列表視圖中的項目時開始活動?
- 8. 自定義列表視圖開始新的活動
- 9. Android - 列表視圖 - 開始新的活動
- 10. 列表視圖選擇開始新的活動
- 11. android:從視圖開始活動的安全方式
- 12. 如何從tabview中的列表活動開始新的活動
- 13. 無法在列表項目點擊上開始新活動?
- 14. 在活動開始前一小時觸發的最佳方式
- 15. 最佳方式初始化活動ViewPager
- 16. 如何打開新的活動點擊列表視圖中的項目?
- 17. 列表視圖 - 點擊新的視圖
- 18. 存儲從另一個活動調用的活動列表的最佳方式
- 19. Android:從片段內更新活動視圖的最佳方式是什麼?
- 20. 從搜索框的列表視圖開始活動
- 21. 從按鈕點擊列表視圖中開始一個新的活動(使用simplecursoradapter)
- 22. 如何從點擊RecyclerView開始活動
- 23. 開始同樣活動並銷燬前一個活動的最佳方式
- 24. 新的活動不是從按鈕開始點擊[Android]
- 25. 開始新活動的方式是最好的?
- 26. 如何從點擊點開始新活動
- 27. 單擊列表視圖後打開新的活動回收視圖
- 28. 列表上的新活動點擊
- 29. 存儲點列表的最佳方式
- 30. 可擴展列表視圖,兒童點擊新信息活動
嗯......你的回答讓我想起了二維數組。我必須試一試。謝謝 – 2011-12-19 02:38:04