2011-04-07 20 views
0

有人可以告訴我如何爲此列表創建自定義adpater,因爲我不想在用戶單擊列表項時顯示烤麪包,但是,當用戶單擊Google時,他將被導航到「www.google.com」和「www.yahoo.com」,同樣適用於msn.com, 根本無法解決,最後一週停滯不前,即使我知道如何創建一個意圖並呼籲一個URI,但不工作或對此, 有人可以修改這個請嗎?修改此列表Linstners(自定義適配器)

import android.app.ListActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class FurtherEducationCourses extends ListActivity 

{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, FURTHER_EDUCATION)); 
     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
      // When clicked, show a toast with the TextView text 
      Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
       Toast.LENGTH_SHORT).show(); 
     } 
     }); 

    } 



    static final String[] FURTHER_EDUCATION = new String[] { 
     "GOOGLE", "YAHOO", "MSN" 

}; }

XML文件,不知道爲什麼需要ü:■

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="16sp" > 
</TextView> 
+0

粘貼都在這裏 – 2011-04-07 14:22:33

+0

XML代碼只是有一個LIST_ITEM thts它 – 2011-04-07 14:38:10

回答

0

關鍵是要獲得在該位置的項目,然後依賴於位置(或者甚至是價值的位置),你打電話正確的鏈接。

所以你需要像這樣索引值,把這個代碼放在你的靜態final ...語句之後。

HashMap<String, String> valueToLink = new HashMap<String, String>;// key is Google, Yahoo, value is www.google.com 

valueToLink.put("GOOGLE", "www.google.com"); 
//add yahoo,.etc. 

在onItemClick()函數,該更換敬酒:

String link = valueToLink.get(((TextView) view).getText()); 
//code to open the link here