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

can we use one button for two or more conditions

我是 android 的初学者,这是我的第一个应用程序,所以我有很多疑问。我们可以将一个按钮用于三个或更多 conditions.I 这样做但它不起作用帮助我(在这个源和目标是两个不同的自动完成文本视图)

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);
            }
        })

你可以这样试试

    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);
                }
            }
        });

应该可以。

无需根据条件创建新的 OnClickListener(),您可以在 activity 中实现侦听器并处理点击

在您的 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;

        ...
    }

}

你不认为你必须检查你的 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);
                }
            }
        });