[英]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.