我们可以在两个或更多条件下使用一个按钮

时间:2016-06-09 08:44:49

标签: android button autocompletetextview

我是Android的初学者这是我的第一个应用程序,所以我得到了很多疑惑。我们可以在三个或更多条件下使用一个按钮。我确实喜欢这个但它不起作用帮助我(在这个源和目的地是两个不同的自动完整textview)

enter code here

String[] source ={"Chennai","Hyderabad","Bangalore"};
String[] destination ={"Chennai","Hyderabad","Bangalore"};

 if(source[0].equals("Chennai") &&destination[1].equals("Hyderabad"))
 {
     Button button=(Button)findViewById(R.id.searchtrain_button);
     button.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             Intent i=new Intent(MainActivity.this,Main2Activity.class);
             startActivity(i);
         }
     });

 }
    else if (source[0].equals("Chennai") && destination[2].equals("Bangalore"))
    {
        Button button1=(Button)findViewById(R.id.searchtrain_button);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i1=new Intent(MainActivity.this,Main3Activity.class);
                startActivity(i1);
            }
        })

3 个答案:

答案 0 :(得分:1)

你不认为你必须检查你的autocompletetextview文本而不是你的数组,因为你的数组条件总是如此,所以它永远不会成为其他条件。

Button button=(Button)findViewById(R.id.searchtrain_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(yourSourceAutoCompleteTextView.getText().toString().equals("Chennai") && yourDestinationAutoCompleteTextView.getText().toString().equals("Hyderabad")) {
                    Intent i=new Intent(MainActivity.this,Main2Activity.class);
                    startActivity(i);
                }
                else if(yourSourceAutoCompleteTextView.getText().toString().equals("Chennai") && yourDestinationAutoCompleteTextView.getText().toString().equals("Bangalore")){
                    Intent i=new Intent(MainActivity.this,Main3Activity.class);
                    startActivity(i);
                }
            }
        });

答案 1 :(得分:0)

你可以像这样尝试

    final String[] source ={"Chennai","Hyderabad","Bangalore"};
    final String[] destination ={"Chennai","Hyderabad","Bangalore"};


        Button button=(Button)findViewById(R.id.searchtrain_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(source[0].equals("Chennai") && destination[1].equals("Hyderabad")) {
                    Intent i=new Intent(MainActivity.this,Main2Activity.class);
                    startActivity(i);
                }
                else if(source[0].equals("Chennai") && destination[2].equals("Bangalore")){
                    Intent i=new Intent(MainActivity.this,Main3Activity.class);
                    startActivity(i);
                }
            }
        });

它应该有用。

答案 2 :(得分:0)

不是根据条件创建新的OnClickListener(),而是可以在activity中实现侦听器并处理单击

在您的活动声明中:

public class ActivityNAme extends Activity implements View.OnClickListener {

然后,找到按钮和所有其他视图:

Button button=(Button)findViewById(R.id.searchtrain_button);
button.setOnClickListener(this);

最后实现onClick函数:

@Override
public void onClick(View v) {

    switch (v.getId()){

        ... Handle other buttons ...

        case R.id.searchtrain_button:
            //your code here
            break;

        ...
    }

}