android之ListView与自定义adapter简单实例
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <ListView android:id="@+id/lt1" android:layout_height="wrap_content" android:layout_width="match_parent" android:divider="#f00" android:dividerHeight="2px" android:headerDividersEnabled="true" android:footerDividersEnabled="true"></ListView> <ListView android:id="@+id/lt2" android:layout_marginTop="20px" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="#0f0" android:dividerHeight="2px" android:headerDividersEnabled="true" android:footerDividersEnabled="true"></ListView> <ListView android:id="@+id/lt3" android:layout_marginTop="20px" android:layout_width="match_parent" android:layout_height="wrap_content"></ListView> </LinearLayout>
package com.android.xiong.arrayadaptertest; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity { private ListView lt1; private ListView lt2; private ListView lt3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lt1 = (ListView) findViewById(R.id.lt1); lt2 = (ListView) findViewById(R.id.lt2); lt3 = (ListView) findViewById(R.id.lt3); String[] list1 = { "张三", "李四啊", "王五" }; ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, R.layout.texton, list1); lt1.setAdapter(adapter1); String[] list2 = { "java", "C#", "C" }; ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, R.layout.checkon, list2); lt2.setAdapter(adapter2); // 自定义列表项 实现BaseAdapter接口 重写方法 BaseAdapter adapter3 = new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub LinearLayout linear = new LinearLayout(MainActivity.this); linear.setOrientation(0); final TextView txt1 = new TextView(MainActivity.this); txt1.setText(String.valueOf(position)); final String str = String.valueOf(position); final Button bt1 = new Button(MainActivity.this); bt1.setText("详情"); bt1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub // 控制单击了Button按钮 if (!str.equals("2")) txt1.setText("赋值给:" + str); } }); linear.addView(txt1); linear.addView(bt1); return linear; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public int getCount() { // TODO Auto-generated method stub return 4; } }; lt3.setAdapter(adapter3); } @Override public 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; } }
补充:移动开发 , Android ,