我正在製作一個可以在屏幕上顯示水果選項的應用程序。果實爲:使用按鈕從onOptionsItem中獲取值選中
蘋果
葡萄
橙色
在屏幕上的過程中,我把開關過程,所以它會切換:
蘋果第一2秒鐘
然後切換到葡萄2秒鐘
然後切換橙2秒鐘
切換過程將連續工作。
現在我想製作一個「選擇按鈕」和一個「微調器」,這樣用戶可以選擇一個水果,他會在「微調器」上看到他的選擇。
例如: 用戶想要選擇橙色。
用戶將等待屏幕上顯示「橙色」。
當屏幕上顯示「橙色」時,直接按下「選擇按鈕」,同時「Spinner1」將被填充「橙色值」。
*我不想使用TextView。
這裏是我的代碼...
主要活動
private MenuItem Apple;
private MenuItem Grape;
private MenuItem Orange;
private Spinner spinner;
private Button choose_button;
private Button btnPrice;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
choose_button = (Button) findViewById(R.id.button1);
addListenerOnButton();
addListenerOnSpinnerItemSelection();
}
@Override
public void onClick(View v)
{ // i don't know what should i write here
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.i(TAG, "onCreateOptionsMenu");
Apple = menu.add("Apple");
Grape = menu.add("Grape");
Orange = menu.add("Orange");
@Override
public boolean onOptionsItemSelected(MenuItem fruit) {
Log.i(TAG, "Menu Item selected " + fruit);
if (fruit == Apple) {
frame.setViewMode(classfruit.apple);
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(2000);
onOptionsItemSelected(Grape);}
catch(Exception ex){}}
}).start();
} else if (fruit == Grape) {
frame.setViewMode(classfruit.grape);
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(2000);
onOptionsItemSelected(orange);}
catch(Exception ex){}}
}).start();
} else if (fruit == orange) {
frame.setViewMode(classfruit.orange);
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(2000);
onOptionsItemSelected(apple);}
catch(Exception ex){}}
}).start();
public void addListenerOnSpinnerItemSelection() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
// get the selected dropdown list value
public void addListenerOnButton() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
btnPrice = (Button) findViewById(R.id.btnPrice);
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/* get fruit */
String fruit = String.valueOf(spinner1.getSelectedItem());
/* get price */
String price = getPrice(fruit);
public String getPrice(String fruit) {
String price = "0";
if (fruit.equalsIgnoreCase("Apple")) {
price = "1";
} else if (warna.equalsIgnoreCase("Grape")) {
price = "2";
} else if (warna.equalsIgnoreCase("Orange")) {
price = "3";
}
main.xml中
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:entries="@array/fruit"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/btn_choose" />
〜應變g.xml
<string name="btn_choose">Choose</string>
<string-array name="fruit">
<item>Apple</item>
<item>Grape</item>
<item>Orange</item>
</string-array>
所以,當上選擇按鈕,用戶點擊即可微調項汽車2秒後選擇。停止 ? –
yes haresh,當用戶點擊「選擇按鈕」時,直接點擊「選擇按鈕」會告訴微調者已經選擇了什麼(example.orange),所以微調器會自動選擇「橙色」。 – user2718189
您需要在按鈕 – WISHY