如何使 listView 重定向到网站 onClick?
how to make listView redirect to website onClick?
我一直在尝试让 listView 在单击不同元素时将用户 onClick 重定向到 URL。
例子:
单击 "apple" 将打开 "whosebug.com",
但点击番茄会打开 "google.com" 等。
任何人都可以给我一些建议,我怎样才能做到这一点,因为经过 2 天的尝试和搜索,我已经头疼了..
displayMainMenu.java
public class DisplayMainMenu extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_main_menu);
final String[] food = new String[] {"Apple", "Tomato", "Potato"};
ListAdapter adapter = new MyAdapter(this, food);
ListView listView = (ListView) findViewById(R.id.mainMenu);
listView.setAdapter(adapter);
}
class MyAdapter extends ArrayAdapter<String>
{
public MyAdapter(Context context, String[] values)
{
super(context, R.layout.entry, values);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = LayoutInflater.from(getContext());
View view = inflater.inflate(R.layout.entry, parent, false);
String text = getItem(position);
TextView textView = (TextView) view.findViewById(R.id.listTextView1);
textView.setText(text);
return view;
}
}
}
您应该创建一个新的 class,其中包含显示的字符串值(Apple、Tomato、Potato 等),并且还包含您想要 link 的 URL。
然后让 ArrayAdapter 使用那个 class。您已经拥有的 getView 函数应该足够了(当它更新为使用新的 class)时)。
然后在您的 activity 中,使用 'setOnItemClickListener' 设置新的侦听器。
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MyItem clickedItem = () parent.getItemAtPosition(position);
<< Insert code to open the link with the URL you can get from 'clickedItem' >>
}
});
应该可以了。
我一直在尝试让 listView 在单击不同元素时将用户 onClick 重定向到 URL。 例子: 单击 "apple" 将打开 "whosebug.com", 但点击番茄会打开 "google.com" 等。 任何人都可以给我一些建议,我怎样才能做到这一点,因为经过 2 天的尝试和搜索,我已经头疼了..
displayMainMenu.java
public class DisplayMainMenu extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_main_menu);
final String[] food = new String[] {"Apple", "Tomato", "Potato"};
ListAdapter adapter = new MyAdapter(this, food);
ListView listView = (ListView) findViewById(R.id.mainMenu);
listView.setAdapter(adapter);
}
class MyAdapter extends ArrayAdapter<String>
{
public MyAdapter(Context context, String[] values)
{
super(context, R.layout.entry, values);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = LayoutInflater.from(getContext());
View view = inflater.inflate(R.layout.entry, parent, false);
String text = getItem(position);
TextView textView = (TextView) view.findViewById(R.id.listTextView1);
textView.setText(text);
return view;
}
}
}
您应该创建一个新的 class,其中包含显示的字符串值(Apple、Tomato、Potato 等),并且还包含您想要 link 的 URL。
然后让 ArrayAdapter 使用那个 class。您已经拥有的 getView 函数应该足够了(当它更新为使用新的 class)时)。
然后在您的 activity 中,使用 'setOnItemClickListener' 设置新的侦听器。
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MyItem clickedItem = () parent.getItemAtPosition(position);
<< Insert code to open the link with the URL you can get from 'clickedItem' >>
}
});
应该可以了。