Изменение этого списка Linstners (пользовательский адаптер)

#android

#Android

Вопрос:

Может кто-нибудь, пожалуйста, сказать мне, как создать пользовательский adpater для этого списка, поскольку я не хочу, чтобы toast отображался, когда пользователь нажимает на элемент списка, но когда пользователь нажимает на Google, он будет перенаправлен на «www.google.com » и «www.yahoo.com » и то же самое для msn.com ,, вообще не могу разобраться, застрял на прошлой 1 неделе, хотя я знаю, как создать intent и вызвать URI, но не работает или подходит для этого, может кто-нибудь просто изменить это, пожалуйста?

 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-файл, не знаю, зачем вам требуется: s

 <?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>
  

Комментарии:

1. вставьте сюда свой XML-код обоих

2. просто укажите list_item для этого

Ответ №1:

Хитрость заключается в том, чтобы получить элемент в этой позиции, затем, в зависимости от позиции (или даже значения в позиции), вы вызываете правильную ссылку.

Итак, вам нужно проиндексировать значение следующим образом, поместите этот код после вашего статического оператора 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() замените toast на этот:

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