Re: [問題] listview換頁的程式碼不太能理解

看板AndroidDev作者 (〆)時間13年前 (2011/08/12 12:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《Mandy5571 (小舞˙ˇ˙)》之銘言: : 我是android新手,還不太會寫>"<有諸多問題請多包涵... : 買的書當中完全沒提到ListView..主要是在說Adapter : 於是乎我就上網開始找ListView的相關程式碼,一切順利直到要做點擊切換的動作 : 網路上我找到的程式碼大多為從listview 1 切換到 listview2 程式碼 從TestListView.java跳至TestOtherActivity.java package com.givemepass.TestListView; import android.app.Activity; import android.content.Intent; 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; public class TestListView extends Activity { private static final String[] array = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" }; private ArrayAdapter<String> adapter; private ListView myListView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myListView = (ListView)findViewById(R.id.myListView01); adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,array); myListView.setAdapter(adapter); myListView.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick( AdapterView<?> arg0, View arg1, int arg2,long arg3) { Intent i = new Intent(); i.setClass(TestListView.this, TestOtherActivity.class); Bundle bundle = new Bundle(); switch(arg2){ case 0: bundle.putString("day", "Sundy"); break; case 1: bundle.putString("day", "Monday"); break; case 2: bundle.putString("day", "Tuesday"); break; case 3: bundle.putString("day", "Wednesday"); break; case 4: bundle.putString("day", "Thursday"); break; case 5: bundle.putString("day", "Friday"); break; case 6: bundle.putString("day", "Saturday"); break; } i.putExtras(bundle); startActivity(i);//重點在這一行 } }); } } : 但我是要從ListView1切換到另一個不是listview的頁面 : 用一般換頁(manifest)的方式做也不對(還是說其實可以,是我弄錯?!) 這邊androidmanifest記得加上要跳頁的activity的名稱 : [問題1] : 然後這是我找到的listview換頁的程式碼 : 主要是這段 : list.setTextFilterEnabled(true); : list.setOnItemClickListener(new OnItemClickListener() { : @Override : public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { : // TODO Auto-generated method stub : } : 不太懂那個變數設定的意思是甚麼,看別人的範例程式又好像有那麼點不一樣 : [問題2] : 如果要做listview的切換的話,另一個頁面也是放在同個project中嗎? : (在放main.xml的資料夾下建立abc.xml 在java的資料夾中建立abc.java?) : 還是能夠兩個project互相連結呢? : 謝謝大家了>"< : 希望知道的高手們可以為我解惑QQ 這邊是跳頁後的java package com.givemepass.TestListView; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestOtherActivity extends Activity { private Button button01; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.abc); button01 = (Button)findViewById(R.id.button01); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); String day = bundle.getString("day"); setTitle(day); button01.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Intent i = new Intent(); i.setClass(TestOtherActivity.this,TestListView.class); startActivity(i); } }); } } http://uploadingit.com/file/krlbwwbs0mz07fiq/TestListView.zip 一次滿足所有問題 連abc.xml都忠於原著 簡單說明一下 首先你會有一個一開始的畫面 TestListView.java 裡面放了一個LinearLayout跟塞進一個ListView 之後就用內建的ListView格式 把一個星期的英文名稱都塞進去 只要你點擊ListView的某一天, 他就會跳到TestOtherActivity.java這支程式裡面 這支程式只會放一個button,按下去可以回到ListView 而你看一下標題會是你剛剛所選的星期幾。 重點是Intent這個東西 參考看看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.115.4

08/12 16:55, , 1F
非常感謝你!!!!!!!! 清楚很多了:D
08/12 16:55, 1F
文章代碼(AID): #1EHAgK2Z (AndroidDev)
文章代碼(AID): #1EHAgK2Z (AndroidDev)