又是一天啊,继续写点笔记:
Spinner的用法:
Spinner是一个下拉列表框,首先看Xml定义:
<Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt="@string/color" />
其他的没什么好讲的,关键讲一下prompt,它主要用途就是在弹出下拉列表的时候,在最上面显示一段文字,用以告诉用户这个下拉列表是干嘛的。
然后看java代码:
Spinner spinner = (Spinner)findViewById(R.id.spinner);
final String[] color = new String[]{"","red","green","blue","grey"};
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.colors, android.R.layout.simple_spinner_item);
ArrayAdapter add = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,color);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinner.setAdapter(add);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
String text = arg0.getSelectedItem().toString();
edit.setText(text);
}
public void onNothingSelected(AdapterView<?> arg0) {
Toast.makeText(FirstAndroidActivity.this, "meiyou", Toast.LENGTH_SHORT);
}
});
代码好像有点多诶。不过核心没多少。首先看看Spinner spinner = (Spinner)findViewById(R.id.spinner),这个几乎不用解释,就是从布局文件里得到Spinner。
而后看这两句:final String[] color = new String[]{"","red","green","blue","grey"};
ArrayAdapter add = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,color);
根据代码的意思,上面定义了一个适配器,这个适配器的主要作用就是提供下拉列表的下拉选项。因为我们在XML里定义Spinner的时候并没有任何一个地方指定了他的下拉选项,所以我们有必要定义一个适配器去填充他。然后我们用spinner.setAdapter(add)就成功将这个适配器关联给了这个Spinner。 上面的做法是在代码中定义下拉选项,其实我们也可以在string.xml中定义一个<string-array name="colors"><item></item></string-array>的列表,让后在代码中用 ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.colors, android.R.layout.simple_spinner_item); 这种形式去引用。
而 spinner.setOnItemSelectedListener是给选中下拉项提供事件响应。
今天还要讲一个东西,就是如何在Eclipse中关联SDK的源代码
1,新建一个android工程,加入我用的是android2.2
2,右键工程名-->build path-->Configure Build Path 找到android2.2目录下的android.jar,点开找到Source attachment--->Edit--->External File 然后点击android2.2的源码.zip文件,就关联上了。
但是一个问题就是源码去哪下载,提供一个下载路径:
Android2.3:http://lizongbo.googlecode.com/files/android_gingerbread_javasrc.zip
Android1.5:http://lizongbo.googlecode.com/files/android_cupcake_javasrc.zip
Android1.6:http://lizongbo.googlecode.com/files/android_donut_javasrc.zip
Android2.1:http://lizongbo.googlecode.com/files/android_eclair_javasrc.zip
Android2.2:http://lizongbo.googlecode.com/files/android_froyo_javasrc.zip
这个是一位网友提供的,很好,要感谢这位网友哦。我把他的文章地址给贴出来吧,比我讲的详细:
http://apps.hi.baidu.com/share/detail/30398440
Ok了,现在就可以在android工程里查看SDK源码了。