package com.ct.mywheel; import wheel.OnWheelChangedListener; import wheel.OnWheelScrollListener; import wheel.WheelView; import wheeladapter.AbstractWheelTextAdapter; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { private LinearLayout categaryLayout; private ImageView categaryImg; private TextView categaryTv; private String[] expense_explanation; private Integer[] expense_images; private Integer expenses_id=0,account_id=0; private boolean scrolling = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); categaryLayout = (LinearLayout)findViewById(R.id.expense_category); categaryImg = (ImageView)findViewById(R.id.expense_category_imv); categaryTv = (TextView)findViewById(R.id.expense_category_tv); expense_explanation = getResources().getStringArray(R.array.EXPENSES_CATEGORY); expense_images = new Integer[]{R.drawable.repast, R.drawable.xiuxianyule, R.drawable.book, R.drawable.shsj, R.drawable.juhuijiaoyou, R.drawable.liwu, R.drawable.huafeiwangfei, R.drawable.transport, R.drawable.cloth, R.drawable.touzikuisun, R.drawable.yiyao, R.drawable.other}; categaryLayout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("选择支出种类"); LayoutInflater inflater = LayoutInflater.from(MainActivity.this); View view = inflater.inflate(R.layout.expense_category_wheel, null); final WheelView expenses_category_wheel = (WheelView) view .findViewById(R.id.expense_category_wheel); expenses_category_wheel.setVisibility(3); expenses_category_wheel.setViewAdapter(new MyExpensesAdapter(MainActivity.this, expense_explanation, expense_images)); expenses_category_wheel.addChangingListener(new OnWheelChangedListener() { @Override public void onChanged(WheelView wheel, int oldValue, int newValue) { // TODO Auto-generated method stub expenses_id = newValue; } }); expenses_category_wheel.addScrollingListener(new OnWheelScrollListener() { @Override public void onScrollingStarted(WheelView wheel) { // TODO Auto-generated method stub scrolling = true; } @Override public void onScrollingFinished(WheelView wheel) { // TODO Auto-generated method stub scrolling = false; expenses_id=expenses_category_wheel.getCurrentItem(); } }); builder.setView(view); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub categaryImg.setImageResource(expense_images[expenses_id]); categaryTv.setText(expense_explanation[expenses_id]); } }).setNegativeButton("取消", null).create().show(); } }); } @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; } private class MyExpensesAdapter extends AbstractWheelTextAdapter{ private String[] explanation=null; private Integer[] images=null; @Override public View getItem(int index, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View view = super.getItem(index, convertView, parent); ImageView img = (ImageView) view.findViewById(R.id.category); img.setImageResource(images[index]); TextView tv=(TextView) view.findViewById(R.id.expense_name); tv.setText(explanation[index]); return super.getItem(index, convertView, parent); } public MyExpensesAdapter(Context context,String[] explanation,Integer[] images) { super(context,R.layout.expense_category_wheel_item); this.explanation=explanation; this.images=images; } protected MyExpensesAdapter(Context context) { super(context); // TODO Auto-generated constructor stub } @Override public int getItemsCount() { // TODO Auto-generated method stub return explanation.length; } @Override protected CharSequence getItemText(int index) { // TODO Auto-generated method stub return explanation[index]; } } }
(在F:\java\MyWheel)