仍然是一個Android新手,但希望有人能指出我在這個問題上的正確方向。 我想要達到的是。 我有2個單選按鈕,當單擊它時,它將微調器中的數組更改爲加拿大,當我單擊其他數組時出現。這工作正常! 但我正在努力鉤住onClickListener(從微調onItemSelect)到提交按鈕。我想從中根據所選省份或州選擇打開新頁面。以及一些可能會告訴我一個switch語句,以及它將不勝感激。提前致謝。掛鉤微調到onClick監聽器,打開新頁面
String xml
<string name="prov_picker">Select a Province</string>
<string-array name="prov_array">
<item>-- Select Province --</item>
<item>British Columbia</item>
<item>Alberta</item>
<item>Saskatchewan</item>
<item>Manitoba</item>
<item>Ontario</item>
<item>Quebec</item>
<item>New Brunswick</item>
<item>Nova Scotia</item>
<item>Newfoundland</item>
</string-array>
<string-array name="prov1_array">
<item>-- Select State --</item>
<item>Washington</item>
<item>Florida</item>
<item>California</item>
<item>New York</item>
<item>Colorado</item>
</string-array>
<string name="radio1">Canadian</string>
<string name="radio2">US</string>
xml
import android.app.Activity;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.SpinnerAdapter;
import android.widget.Toast;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Spinner;
import android.view.View;
public class CanProvselect extends Activity implements OnCheckedChangeListener {
/** Called when the activity is first created. */
private RadioGroup RadioProvs;
private Button btn1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.canprovselect);
btn1 = (Button)findViewById(R.id.button1);
RadioProvs = (RadioGroup) findViewById(R.id.rgProvs);
RadioProvs.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(RadioGroup group, int checkedId) {
ArrayAdapter<CharSequence> adapter = null;
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
switch (checkedId) {
case R.id.radio_1 :
adapter = ArrayAdapter.createFromResource(
this, R.array.prov_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelected(
));
break;
case R.id.radio_2 :
adapter = ArrayAdapter.createFromResource(
this, R.array.prov1_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelected(
));
break;
}
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String selected = (String) spinner.getSelectedItem();
Intent myIntent = new Intent (spinner.getSelectedItem(), ProvBC.class);
startActivityForResult(myIntent, 0);
}
});
}
}
onItemSelected
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
public class OnItemSelected implements OnItemSelectedListener {
private boolean isFirst = true;
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
if (isFirst) {
isFirst = false;
} else {
Toast.makeText(arg0.getContext(), "The country is"+arg0.getItemAtPosition(arg2).toString(),
Toast.LENGTH_SHORT).show();
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
好的,我添加了onSelect。並更新了原始代碼。如果你不介意,你會介意給我一個我需要做的例子嗎?歡呼 – Calvin 2012-01-15 06:06:13
好Thx。我更新了我的btn1代碼。我不知道如何構造意圖,如果你能看,我很難找到如何將這個實現成爲一個switch語句,爲不同的頁面不同的頁面意圖不同的位置。 – Calvin 2012-01-15 15:32:12