如何根据微调器值启动新的 activity
how to launch new activity based on spinner value
我正在构建这个应用程序,它在第一个 activity 上有一个微调器和按钮,但我还有其他活动是根据微调器值启动的。但现在的问题是当我点击按钮时没有任何反应,可能是哪里出了问题?这是我的代码
public class ow extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ow);
Button button1=(Button) findViewById(R.id.tac);
Spinner spin = (Spinner) findViewById(R.id.spinner);
final String text = spin.getSelectedItem().toString();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
}
}
你的 OnClickListener
是 Anonymous
类型。字符串值在 onCreate
中提供给它,这是默认值,可能是 null
。使用 spinner
作为 class 成员并在 onClick
方法中访问选定的项目值。
试试这个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ow);
Button button1=(Button) findViewById(R.id.tac);
final Spinner spin = (Spinner) findViewById(R.id.spinner);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = spin.getSelectedItem().toString();
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
}}
你必须在按钮点击监听器
上写下一行
final String text = spin.getSelectedItem().toString();
喜欢:
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = spin.getSelectedItem().toString();
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
希望有用。
你必须创建一个微调器事件。
例如:
spinner = (Spinner) findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this,
R.array.opcoes,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long l) {
String item = spinner.getSelectedItem().toString();
Switch(item){
case item1:
Intent yourAcitivity = new Intent(this, yourAcitivity.class);
startActivity(yourAcitivity );
case item2:
Intent yourSecondAcitivity = new Intent(this, yourSecondAcitivity.class);
startActivity(yourSecondAcitivity);
//Keep adding items.
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
我正在构建这个应用程序,它在第一个 activity 上有一个微调器和按钮,但我还有其他活动是根据微调器值启动的。但现在的问题是当我点击按钮时没有任何反应,可能是哪里出了问题?这是我的代码
public class ow extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ow);
Button button1=(Button) findViewById(R.id.tac);
Spinner spin = (Spinner) findViewById(R.id.spinner);
final String text = spin.getSelectedItem().toString();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
}
}
你的 OnClickListener
是 Anonymous
类型。字符串值在 onCreate
中提供给它,这是默认值,可能是 null
。使用 spinner
作为 class 成员并在 onClick
方法中访问选定的项目值。
试试这个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ow);
Button button1=(Button) findViewById(R.id.tac);
final Spinner spin = (Spinner) findViewById(R.id.spinner);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = spin.getSelectedItem().toString();
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
}}
你必须在按钮点击监听器
上写下一行final String text = spin.getSelectedItem().toString();
喜欢:
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = spin.getSelectedItem().toString();
if (text.equals("GTB")) {
Intent intent = new Intent(ow.this, gtb.class);
startActivity(intent);
}else if(text.equals("ZENITH")){
Intent intent=new Intent(v.getContext(),z.class);
startActivity(intent);
}
}
});
希望有用。
你必须创建一个微调器事件。
例如:
spinner = (Spinner) findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this,
R.array.opcoes,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long l) {
String item = spinner.getSelectedItem().toString();
Switch(item){
case item1:
Intent yourAcitivity = new Intent(this, yourAcitivity.class);
startActivity(yourAcitivity );
case item2:
Intent yourSecondAcitivity = new Intent(this, yourSecondAcitivity.class);
startActivity(yourSecondAcitivity);
//Keep adding items.
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});