Android 根据用户选择将不同的字符串传递给“活动”

Android 根据用户选择将不同的字符串传递给“活动”,android,android-activity,Android,Android Activity,我有几个按钮。用户按下他选择的按钮,他/她按下的按钮中的字符串被传递到第二个活动,并以大字体显示。我设法用我的第一个按钮做到了这一点,但我不知道如何使用所有按钮,所以当他/她按下另一个按钮时,第二个活动将收到不同的字符串。我想我可以使用开关或ifs,但我不知道如何在第二个活动中识别按下了哪个按钮。目前,我的第二个活动代码如下所示: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s

我有几个按钮。用户按下他选择的按钮,他/她按下的按钮中的字符串被传递到第二个活动,并以大字体显示。我设法用我的第一个按钮做到了这一点,但我不知道如何使用所有按钮,所以当他/她按下另一个按钮时,第二个活动将收到不同的字符串。我想我可以使用开关或ifs,但我不知道如何在第二个活动中识别按下了哪个按钮。目前,我的第二个活动代码如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_duza_karta);
    TextView displayZero = (TextView) findViewById(R.id.bigNumber);
    displayZero.setText(getIntent().getExtras().getString("zero"));
}

我想你在找这样的东西。如果你不懂什么,尽管问吧

public class ActivityA extends Activity implements View.OnClickListener {

    public static final String TEXT_KEY = "buttontext";
    private Button buttonA, buttonB, buttonC;

    @Override
    protected void onCreate(Bundes savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yourlayoutA); 

        buttonA = (Button) findViewById(R.id.buttonA);
        buttonB = (Button) findViewById(R.id.buttonB);
        buttonC = (Button) findViewById(R.id.buttonC);

        buttonA.setOnClickListener(this);
        buttonB.setOnClickListener(this);
        buttonC.setOnClickListener(this);
    }

     public void onClick(View v) {
         String toParse = new String();

         switch(v.getId()) {
             case R.id.buttonA:
                 toParse = "button A pressed";
                  break;
             case R.id.buttonB:
                 toParse = "button B pressed";
                  break;
             case R.id.buttonC:
                 toParse = "button C pressed";
                  break;
             default:
                  break;
         }
         Intent intent = new Intent(this, ActivityB.class);
         intent.putExtra(TEXT_KEY, toParse);
         startActivity(intent)
     }
}

public class ActivityB extends Activity {

    @Override
    protected void onCreate(Bunde savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.yourlayout2);

          String toSet = getIntent().getStringExtra(ActivityA.TEXT_KEY, null);
          if(toSet != null) {
              ((TextView)findViewById(R.id.yourtextfield)).setText(toSet);
          }
    }
}

Thaks提供快速准确的响应。我查看了你的代码,它看起来像是我需要的解决方案。然而,我只是想知道我是否可以在我的应用程序中使用这段代码,还是应该重写我的代码:我已经在activity_main.xml文件中声明了我的按钮,并为这些按钮指定了onClick方法。我应该删除这些声明吗?或者用与xml声明相同的名称删除mainActivity类中的私有按钮名称就足够了吗?当然,您必须更改代码中使用的布局名称以匹配xml文件。不必为java代码中的每个按钮声明侦听器,只需在XML文件中的每个按钮上放置一个android:onClick=“onClick”。