2016-11-11 105 views
-2

我开始使用Android Studio,我看了一些教程,但没有一个看起来可行。我有四个字符串,spielernr1,spielernr2,spielernr3和koenig,我从MainTectivity类的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); 



} 

}

回答

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

你可以有额外多达你想

0

你可能需要多读一点关于如何开始新的活动,你做错了。

你应该有这样的事情:

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

这个网站将帮助您了解如何开始新的活动,将数据发送给它。

Start and Send data

+0

您的示例并不是特别有用,因为它没有显示如何将'String'传递给正在启动的活动。也许你可以编辑它来提供一个例子? – clownba0t

+0

感谢您的评论,你真的检查我添加的链接?你会发现如何添加一个字符串到捆绑或使用额外。 –

+0

链接无关紧要。除了它可能已经死了的事实之外,你提供的示例代码只是开始一个没有任何额外的活动,而OP将需要知道如何添加extras(在这种情况下'String' extras)到他们用来启动下一个活动。请不要误解我的意图(没有双关语意图) - 只是试图确保OP有明确的答案:) – clownba0t

0

首先你需要了解如何使用意图分享不同活动之间的数据。

在第一个活动 - :

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

在第二个活动 - :

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

使用这个S在活动的任何地方字符串。

相关问题