[英]Distribute an edit text to many TextViews
我是Android編程的新手,我想創建一個需要在MainActivity中輸入用戶名的android應用程序,然后在另一個活動中顯示用戶名。 我計划再創建5個活動來顯示用戶名。 這是MainActivity :
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.start);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Quiz1Activity.class);
getMenuInflater().toString();
sendName();
startActivity(intent);
}});
}
public void sendName(){
Intent intent = new Intent(MainActivity.this, Quiz1Activity.class);
EditText inputnama = (EditText) findViewById(R.id.inputnama);
intent.putExtra("username", message);
}
這是new1Activity
Intent username = getIntent();
String username1 = getIntent().getStringExtra("username1");
我對另一個新活動使用了相同的代碼,但未顯示任何內容。 誰能向我解釋怎么了?
將值存儲在Intent中;
Intent intent = new Intent(MainActivity.this, Quiz1Activity.class);
EditText inputnama = (EditText) findViewById(R.id.inputnama);
intent.putExtra("username", inputnama.getText().toString() );
使用Intent獲取值;
String username1 = getIntent().getStringExtra("username");
如果我正確理解了問題,那么在開始活動時就需要這樣做:
Intent intent = new Intent();
intent.putExtra("userName", userName);
startActivity(intent);
並在新活動中獲取名稱:
getIntent().getExtras().getString("userName");
使用此點擊偵聽器。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new
Intent(MainActivity.this,Quiz1Activity.class);
getMenuInflater().toString();
EditText inputnama = (EditText) findViewById(R.id.inputnama);
intent.putExtra("username", inputnama.getText().toString());
startActivity(intent);
}});
EditText inputName = (EditText) findViewById(R.id.inputnama);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(inputName != null){
String message = inputName.getText().toString();
SharedPreferences sharedPreferences = getSharedPreferences("prefName", 0);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", message);
editor.apply();
editor.commit();
startActivity(new Intent(MainActivity.this, Quiz1Activity.class);
}
}});
在QuizActivity和其他活動中
SharedPreferences sharedPreferences = getSharedPreferences("prefName", 0);
String userName = sharedPreferences.getString("username", "");
在onClick
方法中,您聲明:
Intent intent = new Intent(MainActivity.this, Quiz1Activity.class);
。
然后在sendName()
,您有:
Intent intent = new Intent(MainActivity.this, Quiz1Activity.class);
。
您應該了解這兩個意圖是不相同的,它們是兩個不同的對象。 對一個的修改不會影響另一個。
因此,您對onClick
的intent
沒有被修改。 您要做的是從sendName
返回修改后的intent,類似於startIntent(sendName());
。
另外,您可以將intent
作為參數傳遞給sendName
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.