2014-10-11 106 views
0

我想通過點擊它的項目使用列表視圖來切換另一個活動,但我不能只是有一個錯誤。 這是代碼。如何切換到另一個activity在android中使用listview

package com.example.listview; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

ListView listView ; 

String[] value = {"firstactivity", "secondactivity"}; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ArrayAdapter adapter = new ArrayAdapter<String>(this, 
    R.layout.activity_listview, value); 

    ListView listView = (ListView) findViewById(R.id.activity); 
    listView.setAdapter(adapter); 
    } 
} 

回答

0

這將幫助你

// Create adpater 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, value); 

    // Assign adapter to ListView 
     listView.setAdapter(adapter); 

    // ListView Item Click Listener 
     listView.setOnItemClickListener(new OnItemClickListener() { 

       @Override 
       public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

       // ListView Clicked item index 
       int itemPosition  = position; 

       // ListView Clicked item value 
       String itemValue = (String) listView.getItemAtPosition(position); 

       Intent intent = new Intent(this, <your activity class here>.class); 
       startActivity(intent); 

       } 

     }); 
0

我不知道你的ArrayAdapter第二個參數,你可以嘗試:

ArrayAdapter adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, value); 

第二個參數定義的佈局爲每個列表的元素。 (在這種情況下是一個簡單的項目)。

那麼您應該將名單上設置的項目點擊監聽器:

listView.setOnItemClickListener(new OnItemClickListener() { 
void onItemClick(AdapterView<?> parent, View view, int position, long id) 
{ 
    if(position == 1) 
    //start activity 1 
    else if(position == 2) 
    //start activity 2 
} 
}); 

要啓動活動使用:

Intent intent = new Intent(this, <your activity class here>.class); 
startActivity(intent); 
相關問題