繁体   English   中英

如何在Android车轮选择器中显示ArrayList项目

[英]how to display ArrayList items in Android wheel picker

我想在车轮选择器中显示我的数组列表项。 我有一些样本,但它仅使用数组项。 没有将数组列表转换为数组的任何可能。 我引用此链接。 http://code.google.com/p/android-wheel/source/browse/trunk/wheel/src/kankan/wheel/demo/SlotMachineActivity.java?r=17

这是我的Java代码:

public class WheelViewActivity extends Activity {
Bundle getBundle;
ArrayList<String> bikeItemList;
String itemKeyName;
String wheelMenu1[] = new String[]{"Right Arm", "Left Arm", "R-Abdomen", "L-Abdomen", "Right Thigh", "Left Thigh"};

// Wheel scrolled flag
private boolean wheelScrolled = false;

private TextView text;
private EditText text1;


@Override
public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wheel);

        initWheel1(R.id.p1);

         getBundle = new Bundle();
         getBundle=getIntent().getExtras();           
         bikeItemList = getBundle.getStringArrayList("ItemKey");

        System.out.println("WheelView bikeList"+bikeItemList);
        String[] targetArray= bikeItemList.toArray(new String[bikeItemList.size()]);

        /*String[] targetArray = new String[bikeItemList.size()];
         targetArray=bikeItemList.toArray(targetArray); 
         for (int i = 0; i < bikeItemList.size(); i++) {
             targetArray[i] = bikeItemList.get(i); 

             System.out.println("Wheelview bikeArray"+targetArray);
        }*/



        text1 = (EditText) this.findViewById(R.id.r1);          
        text = (TextView) this.findViewById(R.id.result);
    }

// Wheel scrolled listener
OnWheelScrollListener scrolledListener = new OnWheelScrollListener()
    {
        public void onScrollStarts(WheelView wheel)
            {
                wheelScrolled = true;
            }

        public void onScrollEnds(WheelView wheel)
            {
                wheelScrolled = false;
                updateStatus();
            }
    };

// Wheel changed listener
private final OnWheelChangedListener changedListener = new OnWheelChangedListener()
    {
        public void onChanged(WheelView wheel, int oldValue, int newValue)
            {
                if (!wheelScrolled)
                    {
                        updateStatus();
                    }
            }
    };

/**
 * Updates entered PIN status
 */
private void updateStatus()
    {

     PreferenceConnector.writeString(WheelViewActivity.this,itemKeyName,
             wheelMenu1[getWheel(R.id.p1).getCurrentItem()]);

        text1.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem()]);
        text.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem()]);
    }

/**
 * Initializes wheel
 * 
 * @param id
 *          the wheel widget Id
 */

private void initWheel1(int id)
    {
        WheelView wheel = (WheelView) findViewById(id);         
        wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));        //here i want to display my bikeitem list. i try but force close.   
        wheel.setVisibleItems(5);
        wheel.setCurrentItem(0);
        wheel.addChangingListener(changedListener);
        wheel.addScrollingListener(scrolledListener);
    }
/**
 * Returns wheel by Id
 * 
 * @param id
 *          the wheel Id
 * @return the wheel with passed Id
 */
private WheelView getWheel(int id)
    {
        return (WheelView) findViewById(id);
    }

/**
 * Tests wheel value
 * 
 * @param id
 *          the wheel Id
 * @param value
 *          the value to test
 * @return true if wheel value is equal to passed value
 */
private int getWheelValue(int id)
    {
        return getWheel(id).getCurrentItem();
    }

}

您可以非常轻松地创建一个函数,该函数将所需的值填充到arraylist中,并在onCreate函数开始时调用该函数,并以相同的方式使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM