我是android新手。我被旋转器困住了。有两个微调项“FROM”和“TO”。 我想编码为..如果我想搜索从Place1到Place2。然后在单击按钮后,如果条件匹配,它应该重定向到另一个页面。 在运行应用程序时,我没有收到任何错误,也没有点击按钮的响应。
请参阅以下代码。我已经通过3种方式尝试了这个东西(*在评论中),它们都没有提供所需的输出。
package com.aricent.aricentgroupapps;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
public class SelectLocation extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select_location);
Button route = (Button) findViewById(R.id.RouteButton);
final Spinner spin1 = (Spinner) findViewById(R.id.fromdropdrown);
final Spinner spin2 = (Spinner) findViewById(R.id.todropdrown);
route.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String str1 = spin1.getSelectedItem().toString();
String str2 = spin2.getSelectedItem().toString();
String plot31= "Plot 31";
String plot314= "Plot 314";
/* if(String.valueOf(spin1.getSelectedItem())== "Plot 17" && String.valueOf(spin2.getSelectedItem())== "Plot 16")
{
Intent i = new Intent(SelectLocation.this, Route1.class);
startActivity(i);
}
if (spin1.equals("Plot 17") && spin2.equals("Plot 16"))
{
Intent i = new Intent(SelectLocation.this, Route1.class);
startActivity(i);
}
*/
if (str1== plot31 && str2==plot314)
{
Intent i = new Intent(SelectLocation.this, Route1.class);
startActivity(i);
}
}
});
}
protected String valueOf(Object selectedItem) {
// TODO Auto-generated method stub
return getString(0);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.select_location, menu);
return true;
}
}
答案 0 :(得分:1)
使用这个
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> main, View view, int position,
long Id) {
if(position==0){
//your code
}
if(position==1){
//your code
}
}
}
答案 1 :(得分:0)
使用此 -
if(str1.equals("plot16")&&str2.equals("plot17")){
//do functionality
}
答案 2 :(得分:0)
if (str1.equals( plot31) && str2.equals(plot314))
{
Intent i = new Intent(SelectLocation.this, Route1.class);
startActivity(i);
}
试试这个。 ==用于比较引用,而equals()方法用于比较值。