android常见三个适配器
来源:互联网 发布:js 添加dom 动画 编辑:程序博客网 时间:2024/06/05 03:01
首先给出整体目录结构
设计整个程序是通过主界面的三个按钮跳转到三个界面,分别是用BaseAdapte,SimpleAdapter,ArrayAdatper显示ListView
主界面如下
点击任何一个按钮则跳转相应界面,三个界面差不多,只是id设置不同,其中一个界面如图:
现在给出全部布局文件代码:
activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="basedapter" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="simpleAdatpter" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ArrayAdapter" /></LinearLayout>
activity_array
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/array" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>
activity_base
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/base" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>activity_simple
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/simple" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>
然后Lsitview里面的布局是listview.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/listText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="我是textview" /></RelativeLayout>
然后是几个主要界面代码:
主界面:
package com.example.myadapter;import android.app.Activity;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.DialogInterface.OnClickListener;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TabHost;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.activity_main);Button button1 = (Button) findViewById(R.id.button1);Button button2 = (Button) findViewById(R.id.button2);Button button3 = (Button) findViewById(R.id.button3);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(MainActivity.this,BaseActivity.class);startActivity(intent);}});button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(MainActivity.this,SimpleActivity.class);startActivity(intent);}});button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(MainActivity.this,ArrayActivity.class);startActivity(intent);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}BaseActivity:
package com.example.myadapter;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.TextureView;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class BaseActivity extends Activity {private String []nameStrings={"第一次","第二次","第三次"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_base);ListView listView=(ListView)findViewById(R.id.base);myBaseAdapter myBaseAdapter=new myBaseAdapter();listView.setAdapter(myBaseAdapter);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.base, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}class myBaseAdapter extends BaseAdapter{@Overridepublic int getCount() {// TODO Auto-generated method stubreturn nameStrings.length;}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn nameStrings[arg0];}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn arg0;}@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {// TODO Auto-generated method stubView view=View.inflate(BaseActivity.this, R.layout.listview, null);
//listview是ListVIew的具体布局文件的xml文件
return view
}SimpleActivity:package com.example.myadapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ListView;import android.widget.SimpleAdapter;public class SimpleActivity extends Activity {private String []nameStrings={"第一次","第二次","第三次"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_simple); List<Map<String, Object>> listems = new ArrayList<Map<String, Object>>(); for (int i = 0; i < nameStrings.length; i++) { Map<String, Object> listem = new HashMap<String, Object>(); listem.put("head", nameStrings[i]); listems.add(listem); } SimpleAdapter simplead = new SimpleAdapter(this, listems, R.layout.listview, new String[] {"head"}, new int[] {R.id.listText}); //第一个参数是上下文,第二个是List<map<>>参数,第三个是ListView具体布局ID //第4个是List中的map的key值,第5个是List中的map的key值对应显示的TextView或者其他控件 ListView listView=(ListView)findViewById(R.id.simple); listView.setAdapter(simplead); }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.simple, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}ArrayActivity:package com.example.myadapter;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ArrayAdapter;import android.widget.ListView;public class ArrayActivity extends Activity {private String []nameStrings={"第一次","第二次","第三次"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_array);ListView listView=(ListView)findViewById(R.id.array);ArrayAdapter<String> adapter=new ArrayAdapter<String>(ArrayActivity.this, android.R.layout.simple_expandable_list_item_1,nameStrings);listView.setAdapter(adapter);//android.R.layout.simple_expandable_list_item_1是系统已经存在的}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.array, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}class myArrayAdapter extends ArrayAdapter<String>{public myArrayAdapter(Context context, int resource,int textViewResourceId, List<String> objects) {super(context,resource, textViewResourceId, objects);// TODO Auto-generated constructor stub}}}
清单文件自动注册各自的activity;
阅读全文
0 0
- android常见三个适配器
- Android开发学习之常见适配器总结
- 常见适配器的用法(在listview中 ,把三个edittext内容放在简单适配器中)
- Android 进阶之路:常见设计模式之适配器模式
- 常见的数据适配器
- makefile三个常见变量:$@,$^,$<
- android&&适配器
- android 适配器
- android适配器
- Android适配器
- android 适配器
- android适配器
- Android适配器
- Android 适配器
- Android 适配器
- Android适配器
- Android适配器
- Android适配器
- InetAddress & InetSocketAddress
- 51nod 1202 子序列个数
- c++实验6-矩阵求和
- HTML5废弃的iframe有哪些缺点?
- drawble 的使用
- android常见三个适配器
- 网络图片浏览器——HttpURLConnection
- BeanShell 简介与学习(一篇就够)
- 比较版本号的大小 新旧
- 捕获程序崩溃异常
- 计算机与操作系统基础-计算机发展史
- 双线性插值
- 项目风险管理脉络
- Nginx 服务器基础配置指令