2011-02-19 72 views
0

您好我遇到了listview示例引用由外部类定义的字符串数组。我想询问一下,当点击列表中的项目时,如何将其更改为它会带来一个新的信息页面。Android字符串Listview

在预先感谢您对noob问题抱歉我在android/Java新。

strings.xml 
     <?xml version="1.0" encoding="utf-8"?> 
     <resources> 
      <string name="hello">Hello World, HelloListView!</string> 
      <string name="app_name">HelloListView</string> 
     <string-array name="countries_array"> 
       <item>Bahrain</item> 
       <item>Bangladesh</item> 
       <item>Barbados</item> 
       <item>Belarus</item> 
       <item>Belgium</item> 
       <item>Belize</item> 
       <item>Benin</item> 
      </string-array> 
     </resources> 




      package com.hope; 

      import android.app.Activity; 
      import android.app.ListActivity; 
      import android.os.Bundle; 
      import android.view.View; 
      import android.widget.AdapterView; 
      import android.widget.AdapterView.OnItemClickListener; 
      import android.widget.ArrayAdapter; 
      import android.widget.ListView; 
      import android.widget.TextView; 
      import android.widget.Toast; 

      public class HelloListView extends ListActivity { 
       /** Called when the activity is first created. */ 
       @Override 
       public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 

        String[] countries = getResources().getStringArray(R.array.countries_array); 
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries)); 

        ListView lv = getListView(); 
        lv.setTextFilterEnabled(true); 

        lv.setOnItemClickListener(new OnItemClickListener() { 
         public void onItemClick(AdapterView<?> parent, View view, 
          int position, long id) { 
         //When clicked, show a toast with the TextView text 
         Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
          Toast.LENGTH_SHORT).show(); 
         } 
        }); 
        } 
      } 
     list_item.xml 
     <?xml version="1.0" encoding="utf-8"?> 
     <TextView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="10dp" 
      android:textSize="16sp" > 
     </TextView> 
+1

当你说'新网页'你是什么意思?对话框?一项新的活动?别的东西?如果你的意思是新的活动@Reno让你走上了正确的道路。您可能需要一个开关(位置),并且对于每个行都有一个case row_ID:指定该项目的正确活动并启动它。 – FoamyGuy 2011-02-19 05:55:14

回答

1

您将需要这样的onClick监听器。 Read about adapters first

OnItemClickListener itemListener = new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
      int position, long rowid) { 
      Intent intent = new Intent().setClass(this, YourNewActivity.class); 
      startActivity(intent);  
     } 
    };