#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