如何从一个类到另一个类获取String?

时间:2016-11-11 16:14:30

标签: java android string parameter-passing

我正在启动Android Studio,但我查看了教程,但似乎都没有。我有四个字符串,spielernr1,spielernr2,spielernr3和koenig,我从MainActivity类的EditTexts中获取它们。现在我想在我的seite1课程中使用它们,但我不知道如何将它们导入seite1课程。这是MainActivity类的代码:

public class MainActivity extends AppCompatActivity {
String spielernr1, spielernr2, spielernr3, koenig;
EditText spieler1;
EditText spieler2;
EditText spieler3;
EditText kartenkoenig;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    spieler1 = (EditText) findViewById(R.id.editText);
    spieler2 = (EditText) findViewById(R.id.editText2);
    spieler3 = (EditText) findViewById(R.id.editText3);
    kartenkoenig = (EditText) findViewById(R.id.editText4);
    Button startbutton = (Button) findViewById(R.id.button2);
    startbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            spielernr1 = spieler1.getText().toString();
            spielernr2 = spieler2.getText().toString();
            spielernr3 = spieler3.getText().toString();
            koenig = kartenkoenig.getText().toString();

            setContentView(R.layout.activity_seite1);


        }
    });

}

以下是seite1的代码:

public class seite1 extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_seite1);



}

}

4 个答案:

答案 0 :(得分:5)

如果我理解了您的问题,那么您的活动会获取一些信息,并希望在其他活动中使用它们。 因此,当您想要进入第二个类时,您可以在第一个活动中使用类似此代码的意图:

Intent i = new Intent(ActivityOne.this, ActivityTwo.class);
i.putExtra("value", "some string");
startActivity(i);
第二个活动中的

使用此代码:

Bundle extras = getIntent().getExtras();
// get data via the key
String value1 = extras.getString("value");

你可以随心所欲地添加额外内容

答案 1 :(得分:1)

答案 2 :(得分:0)

你可能需要阅读更多关于如何开始新活动的信息,你做错了。

你应该有这样的东西:

Intent intent= new Intent(MainActivity.this,OtherActivity.class);
starActivity(intent);

此网站将帮助您了解如何开始新活动并向其发送数据。

Start and Send data

答案 3 :(得分:0)

首先,您需要了解如何使用Intent在不同活动之间共享数据。

在第一项活动中:

Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
i.putExtra("key", "StringToSend");
startActivity(intent);

在第二项活动中 - :

Intent i=getIntent();
String s = intent.getExtras().getString("key");

在活动的任何地方使用此字符串。