2013-04-27 80 views
0

我知道有很多解決方案可以解決這個問題。如何將List與Intents結合使用?

但是,情況並非如此。

這是我的java代碼。

package com.progme.sejong_bus; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class BUSActivity extends Activity { 

    ListView listView; 

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

     String []data = 
      {"공통공지사항","101번 버스정보","102번 버스정보","103번 버스정보","104번 버스정보", 
       "105번 버스정보","106번 버스정보","107번 버스정보","108번 버스정보","109번 버스정보", 
       "110번 버스정보","111번 버스정보","112번 버스정보","113번 버스정보","114번 버스정보", 
       "115번 버스정보","116번 버스정보","117번 버스정보"}; 

     listView = (ListView)findViewById(R.id.listview1); 

     ArrayAdapter<?> adapter = new ArrayAdapter<Object>(getApplicationContext(), android.R.layout.simple_list_item_1, data); 

     listView.setAdapter(adapter); 
    } 
} 

,這是我的XML代碼

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:background="#000000" > 

    <ListView 
     android:id="@+id/listview1" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="top" 
     android:layout_weight="1" 
     android:cacheColorHint="#000000" 
     android:dividerHeight="1dp" 
     android:divider="#FFFFFF" > 

    </ListView> 

</LinearLayout> 

我想意圖每個列表..但我怎麼能選擇每一個列表?

我需要使用哪些代碼?

編輯>

我想看看我的應用程序正在這樣的形象。

SampleImage

每個列表鏈接的每一頁。

,我不能這樣做,因爲我有像這樣的工作代碼不知道。(?)

反正..我有什麼做的?

+0

因此,每次點擊一個項目,你想去一個不同的'活動'或? – Darwind 2013-04-27 02:08:53

+0

不,我的意思是我想鏈接列表1 1 XML。 但我不知道我可以如何編碼.. – KRJ 2013-04-27 02:09:54

+0

請詳細說明你到底想要什麼。 – 2013-04-27 05:00:42

回答

0

所以首先你需要用一個數組來獲取您的當前電流 的String []數據在主java代碼=可以用這個

// Listview Data 
String[] List_items = getResources().getStringArray(R.array.List_items); 

被替換列表項中創建一個新的XML文件價值觀和粘貼此代碼四剛打電話列表Lise_items 只需更換,不管你在你的列表視圖

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="List_items"> 
<item>list item </item> 
<item>list item</item> 
<item>list item</item> 
<item>list item</item> 
<item>list item</item> 
</string-array> 
</resources> 

通過添加的onclick聽衆

喜歡(列表項)
/// listening to single list item on click 

    lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 

      /// selected item 

      String List_items = ((TextView) view).getText().toString(); 

      /// Launching new Activity on selecting single List Item 

      Intent i = new Intent(getApplicationContext(), SingleListItem.class); 
      /// sending data to new activity 
      i.putExtra("List_items", List_items); 
      startActivity(i); 

     } 
    }); 
} 

}

您將需要創建點擊另一個XML文件和java文件的視圖

例如

list_item_view.xml 

     <?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

    <TextView android:id="@+id/List_item" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:textSize="25dip" 
        android:textStyle="bold" 
        android:padding="10dip" 
        android:textColor="#ffffff"/>  
     </LinearLayout> 

Listitemselected.java 

     package com.progme.sejong_bus; 

    import android.app.Activity; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.widget.TextView; 


     public class Listitemselected extends Activity{ 
      @Override 
      public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       this.setContentView(R.layout.list_item_view); 

       TextView txtList_items = (TextView) findViewById(R.id.List_items); 

       Intent i = getIntent(); 

       // getting attached intent data 

       String List_items = i.getStringExtra("List_items"); 

// displaying selected List name 
       txtList_items.setText(List_items); 

      } 
     } 

你必須爲每個新意圖項目是在列表中,所以當每個項目被點擊時,它會去一個新的活動,例如

protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 

    Intent a; 
    switch(position){ 

    case 1: 
     a = new Intent("Items 1 page"); 
     break; 
    case 2: 
     a = new Intent("items 2 page"); 
     break; 

    if(null!=a) 
    startActivity(a); 
} 

}

+0

而我該如何選擇每個列表並使之有意向呢? – KRJ 2013-04-27 04:11:41

+0

我希望這可以幫助我重新編輯我的帖子一個好地方,以及搜索谷歌教程。您可能需要更改一些名稱,以相應地爲您的項目 – 2013-04-27 05:32:32

+0

非常感謝,但請檢查我的編輯請..我很抱歉 – KRJ 2013-04-27 06:50:47