80,351
社区成员
发帖
与我相关
我的任务
分享
package com.hzg.listviewexemple;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView mListView;
private List<Map<String, Object>> data;
private ArrayAdapter<String> adapter;
private static final String[] m = { "YES", "NO" };
@Override
public void onCreate(Bundle savedInstanceStated) {
super.onCreate(savedInstanceStated);
setContentView(R.layout.list_view);
data = getData();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m);
mListView = (ListView) findViewById(R.id.list_view_id);
mListView.setAdapter(new CustomListAdapter(this));
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:// 按向左键
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:// 按向右键
break;
default:
break;
}
return super.onKeyDown(keyCode, event);
}
private List<Map<String, Object>> getData()
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
for(int i=0;i<5;i++)
{
map = new HashMap<String, Object>();
map.put("menuText", "Menu List");
map.put("menuImage", R.drawable.gray_l);
map.put("rightOfImage", R.drawable.gray_r);
list.add(map);
}
return list;
}
class CustomListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext = null;
public CustomListAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(mContext);
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
public View getView(int position, View convertView, android.view.ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_custom, null);
viewHolder.menuImage= (ImageView) convertView.findViewById(R.id.menu_image_id);
viewHolder.rightOfImage= (ImageView) convertView.findViewById(R.id.right_image_id);
viewHolder.menuText = (TextView) convertView.findViewById(R.id.menu_text_id);
viewHolder.choiceText = (TextView) convertView.findViewById(R.id.choice_text_id);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.menuText.setText((String) data.get(position).get("menuText"));
viewHolder.menuImage.setBackgroundResource((Integer) data.get(position).get("menuImage"));
viewHolder.rightOfImage.setBackgroundResource((Integer) data.get(position).get("rightOfImage"));
viewHolder.choiceText.onKeyDown(position, null);
return convertView;
}
public class ViewHolder {
public TextView menuText;
public ImageView menuImage;
public TextView choiceText;
public ImageView rightOfImage;
}
}
}
public class Test2Activity extends Activity {
private ListView mListView;
private List<Map<String, Object>> data;
private ArrayAdapter<String> adapter;
CustomListAdapter listAdapter;
private static final String[] m = { "YES", "NO" };
@Override
public void onCreate(Bundle savedInstanceStated) {
super.onCreate(savedInstanceStated);
setContentView(R.layout.list_view);
data = getData();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m);
mListView = (ListView) findViewById(R.id.list_view_id);
listAdapter = new CustomListAdapter(this);
mListView.setAdapter(listAdapter);
mListView.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
System.out.println("FFFFFFFFFF " + mListView.getSelectedItemPosition());
int pos = mListView.getSelectedItemPosition();
if (pos >= 0)
{
int i = 0;
if (event.getAction() == KeyEvent.ACTION_UP)
{
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:// 按向左键
i = (Integer) data.get(pos).get("sss");
data.get(pos).put("sss", i - 1);
listAdapter.notifyDataSetChanged();
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:// 按向右键
i = (Integer) data.get(pos).get("sss");
data.get(pos).put("sss", i + 1);
listAdapter.notifyDataSetChanged();
return true;
}
}
}
return false;
}
});
}
private List<Map<String, Object>> getData()
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
for(int i = 0;i < 2;i++)
{
map = new HashMap<String, Object>();
map.put("menuText", "Service Lock");
//map.put("menuImage", R.drawable.gray_l);
// map.put("rightOfImage", R.drawable.gray_r);
map.put("sss", 1);
list.add(map);
}
return list;
}
class CustomListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext = null;
public CustomListAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(mContext);
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
public View getView(int position, View convertView, android.view.ViewGroup parent) {
final ViewHolder viewHolder;
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_custom, null);
viewHolder.choiceText = (TextView) convertView.findViewById(R.id.choice_text_id);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
int i = (Integer) data.get(position).get("sss");
viewHolder.choiceText.setText(String.valueOf(i));
return convertView;
}
public class ViewHolder {
public TextView menuText;
public ImageView menuImage;
// public Spinner mSpinner;
public TextView choiceText;
public ImageView rightOfImage;
}
}
}
viewHolder.choiceText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
// int itemPosition = mListView.getSelectedItemPosition();
System.out.println("111111111111111");
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:// 按向左键
System.out.println("Hello "+position);
System.out.println("left position:"+ mListView.getSelectedItemPosition());
if(position == 0) viewHolder.choiceText.setText("1");
if(position == 1) viewHolder.choiceText.setText("3");
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:// 按向右键
// viewHolder.choiceText.setText((String)data.get(position).get("choiceText"));
System.out.println("right position:"+ mListView.getSelectedItemPosition());
if(position == 0) viewHolder.choiceText.setText("2");
if(position == 1) viewHolder.choiceText.setText("4");
break;
}
return false;
}
});
package com.hzg.listviewexemple;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView mListView;
private List<Map<String, Object>> data;
private ArrayAdapter<String> adapter;
private static final String[] m = { "YES", "NO" };
@Override
public void onCreate(Bundle savedInstanceStated) {
super.onCreate(savedInstanceStated);
setContentView(R.layout.list_view);
data = getData();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m);
mListView = (ListView) findViewById(R.id.list_view_id);
mListView.setAdapter(new CustomListAdapter(this));
}
private List<Map<String, Object>> getData()
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
for(int i = 0;i < 2;i++)
{
map = new HashMap<String, Object>();
map.put("menuText", "Service Lock");
map.put("menuImage", R.drawable.gray_l);
map.put("rightOfImage", R.drawable.gray_r);
list.add(map);
}
return list;
}
class CustomListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext = null;
public CustomListAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(mContext);
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
public View getView(final int position, View convertView, android.view.ViewGroup parent) {
final ViewHolder viewHolder;
adapter.setDropDownViewResource(android.R.layout.list_content);
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_custom, null);
viewHolder.menuImage= (ImageView) convertView.findViewById(R.id.menu_image_id);
viewHolder.rightOfImage= (ImageView) convertView.findViewById(R.id.right_image_id);
viewHolder.menuText = (TextView) convertView.findViewById(R.id.menu_text_id);
// viewHolder.mSpinner = (Spinner) convertView.findViewById(R.id.menu_spinner_id);
viewHolder.choiceText = (TextView) convertView.findViewById(R.id.choice_text_id);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.menuText.setText((String) data.get(position).get("menuText"));
viewHolder.menuImage.setBackgroundResource((Integer) data.get(position).get("menuImage"));
viewHolder.rightOfImage.setBackgroundResource((Integer) data.get(position).get("rightOfImage"));
mListView.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
// int itemPosition = mListView.getSelectedItemPosition();
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:// 按向左键
System.out.println("Hello "+position);
// System.out.println("left position:"+ mListView.getSelectedItemPosition());
if(position == 0) viewHolder.choiceText.setText("1");
if(position == 1) viewHolder.choiceText.setText("3");
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:// 按向右键
// viewHolder.choiceText.setText((String)data.get(position).get("choiceText"));
System.out.println("right position:"+ mListView.getSelectedItemPosition());
if(position == 0) viewHolder.choiceText.setText("2");
if(position == 1) viewHolder.choiceText.setText("4");
break;
}
return false;
}
});
return convertView;
}
public class ViewHolder {
public TextView menuText;
public ImageView menuImage;
public TextView choiceText;
public ImageView rightOfImage;
}
}
}
if(position == 0) viewHolder.choiceText.setText("1");
if(position == 0) viewHolder.choiceText.setText("2");
package com.hhb.listviewexemple;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextSwitcher;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView mListView;
private List<Map<String, Object>> data;
private ArrayAdapter<String> adapter;
private static final String[] m = { "YES", "NO" };
@Override
public void onCreate(Bundle savedInstanceStated) {
super.onCreate(savedInstanceStated);
setContentView(R.layout.list_view);
data = getData();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m);
mListView = (ListView) findViewById(R.id.list_view_id);
mListView.setAdapter(new CustomListAdapter(this));
}
private List<Map<String, Object>> getData()
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
map = new HashMap<String, Object>();
map.put("menuText", "Service Lock");
map.put("menuImage", R.drawable.gray_l);
map.put("rightOfImage", R.drawable.gray_r);
list.add(map);
map = new HashMap<String, Object>();
map.put("menuText", "Installation Lock");
map.put("menuImage", R.drawable.gray_l);
map.put("rightOfImage", R.drawable.gray_r);
list.add(map);
return list;
}
class CustomListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext = null;
public CustomListAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(mContext);
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
public View getView(int position, View convertView, android.view.ViewGroup parent) {
final ViewHolder viewHolder;
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_custom, null);
viewHolder.menuImage= (ImageView) convertView.findViewById(R.id.menu_image_id);
viewHolder.rightOfImage= (ImageView) convertView.findViewById(R.id.right_image_id);
viewHolder.menuText = (TextView) convertView.findViewById(R.id.menu_text_id);
// viewHolder.mSpinner = (Spinner) convertView.findViewById(R.id.menu_spinner_id);
viewHolder.choiceText = (TextView) convertView.findViewById(R.id.choice_text_id);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.menuText.setText((String) data.get(position).get("menuText"));
viewHolder.menuImage.setBackgroundResource((Integer) data.get(position).get("menuImage"));
viewHolder.rightOfImage.setBackgroundResource((Integer) data.get(position).get("rightOfImage"));
viewHolder.choiceText.setOnKeyListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
System.out.println("YYYYYYYY");
// TODO Auto-generated method stub
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:// 按向左键
viewHolder.choiceText.setText("Y");
System.out.println("AAAAA");
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:// 按向右键
viewHolder.choiceText.setText("N");
System.out.println("HHHH");
break;
default:
break;
}
return false;
}
});
return convertView;
}
public class ViewHolder {
public TextView menuText;
public ImageView menuImage;
// public Spinner mSpinner;
public TextView choiceText;
public ImageView rightOfImage;
}
}
}
mListView.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
System.out.println("FFFFFFFFFF " + mListView.getSelectedItemPosition());
return false;
}
});