2014-10-11 117 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); 
相关问题