如何从ListView启动一个Activity

时间:2014-08-15 10:29:31

标签: java android listview

我制作了一个ListView和一个StringArray。它显示没问题,但我不知道如何从此列表中启动Activity。我想点击一个项目时启动Activity。单击另一个项目时启动另一个活动...

这是,

字符串数组:

 <array name="List">
        <item name="samu">Samsung</item>
        <item>Htc</item>
        <item>Sony</item>
        <item>Huwai</item>
    </array>

List_Layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.zokni1996.android_forum.List">


<ListView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listView"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:entries="@array/List" />

和Java(修复导入,只是不要过去):

public class List extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);

       ListView list = (ListView) findViewById(R.id.listView);
    } }

3 个答案:

答案 0 :(得分:1)

将onItemClickListener添加到listView,然后根据点击的项目启动活动。例如,

list.setOnItemClickListener(new OnItemClickListener){
    @Override 
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
           String selected = parent.getAdapter().getItem(position).toString();
           if(selected.equals("htc") {
               //start htc activity
           }
    }
});

答案 1 :(得分:0)

listView.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
          // intent
   }
});

答案 2 :(得分:0)

试试这个:

    list.setOnItemClickListener(new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Intent i = new Intent(FirstActivity.this, SecondActivity.class);
            startActivity(i);
        }

    });