作者givemepass (〆)
看板AndroidDev
标题Re: [问题] listview换页的程式码不太能理解
时间Fri Aug 12 12:22:42 2011
※ 引述《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
1F:推 Mandy5571:非常感谢你!!!!!!!! 清楚很多了:D 08/12 16:55