Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使listView重定向到网站onClick?_Android_String_Listview_Url_Android Studio - Fatal编程技术网

Android 如何使listView重定向到网站onClick?

Android 如何使listView重定向到网站onClick?,android,string,listview,url,android-studio,Android,String,Listview,Url,Android Studio,我一直在尝试让listView在单击不同元素时将用户onClick重定向到URL。 例子: 点击“苹果”将打开“stackoverflow.com”, 但是点击西红柿会打开“google.com”等等。 有谁能给我一些建议我该如何做到这一点,因为经过两天的尝试和搜索,我所得到的只是头痛 displayMainMenu.java public class DisplayMainMenu extends Activity { @Override public void onCreate(Bundl

我一直在尝试让listView在单击不同元素时将用户onClick重定向到URL。 例子: 点击“苹果”将打开“stackoverflow.com”, 但是点击西红柿会打开“google.com”等等。 有谁能给我一些建议我该如何做到这一点,因为经过两天的尝试和搜索,我所得到的只是头痛

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;
    }
}
}
public class DisplayMain菜单扩展活动
{
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u display\u主菜单);
最后一个字符串[]食物=新字符串[]{“苹果”、“西红柿”、“土豆”};
ListAdapter=新的MyAdapter(这是食物);
ListView ListView=(ListView)findViewById(R.id.main菜单);
setAdapter(适配器);
}
类MyAdapter扩展了ArrayAdapter
{
公共MyAdapter(上下文上下文,字符串[]值)
{
super(上下文、R.layout.entry、值);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图)
{
LayoutInflater充气器=LayoutInflater.from(getContext());
视图=充气机。充气(R.layout.entry,父项,false);
字符串文本=getItem(位置);
TextView TextView=(TextView)view.findViewById(R.id.listTextView1);
textView.setText(text);
返回视图;
}
}
}

您应该创建一个新类,该类包含显示的字符串值(Apple、Tomato、Potato等),还包含要链接的URL

然后让ArrayAdapter使用该类。您已经拥有的getView函数应该足够了(当它更新为使用新类时)

然后在活动中,使用“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.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
MyItem clickedItem=()父项。getItemAtPosition(位置);
>
}
});
应该这样做