2017-11-10 4 views
0

オブジェクトのtoStringを別のTextViewに渡す方法を解明しようとしています。私は今、どのようにそれをやっているのか、メインアクティビティのEditText入力をディスプレイアクティビティに送信しますが、それは最初のフィールドだけを対象としています。問題は、私がコードをどのようにTextViewsを分離するためにプッシュするかを理解できないことです。オブジェクトをtoStringに渡してTextViewを区切る

package example.com.inclassweek32; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Display; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

import static android.provider.AlarmClock.EXTRA_MESSAGE; 

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 
    Button button; 
    EditText editText; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     button = (Button) findViewById(R.id.buttonSubmit); 
     editText = (EditText) findViewById(R.id.editTextName); 

     button.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 
     Intent intent = new Intent(this, DisplayActivity.class); 

     User user = new User(); 
     user.setName(editText.getText().toString()); 

     intent.putExtra("NAME", user); 

     startActivity(intent); 
    } 
} 
-------------------------------------------------------------------- 
package example.com.inclassweek32; 
import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class DisplayActivity extends AppCompatActivity { 
    TextView textView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_display); 

     Intent intent = getIntent(); 

     User user = (User) intent.getSerializableExtra("NAME"); 

     textView = findViewById(R.id.textViewName); 
     textView.setText(user.toString()); 


    } 
} 
-------------------------------------------------------------------- 
package example.com.inclassweek32; 

import java.io.Serializable; 

public class User implements Serializable { 
    String name; 
    String email; 

    @Override 
    public String toString() { 
     return name; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 
} 

答えて

0

この問題を解決するために、以下のコードを追加しました。私は各値に対して新しいtextviewとedittextを設定しなければならなかった。

package example.com.inclassweek32; 
 
import android.content.Intent; 
 
import android.support.v7.app.AppCompatActivity; 
 
import android.os.Bundle; 
 
import android.widget.TextView; 
 

 
import org.w3c.dom.Text; 
 

 
public class DisplayActivity extends AppCompatActivity { 
 
    TextView textView; 
 
    TextView textView1; 
 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_display); 
 

 
     Intent intent = getIntent(); 
 

 
     User user = (User) intent.getSerializableExtra("NAME"); 
 

 
     textView = findViewById(R.id.textViewName); 
 
     textView.setText(user.getName().toString()); 
 

 
     textView1 = findViewById(R.id.textViewEmail); 
 
     textView1.setText(user.getEmail().toString()); 
 

 

 
    } 
 
} 
 

 
-------------------------------------------- 
 

 
package example.com.inclassweek32; 
 

 
import android.content.Intent; 
 
import android.support.v7.app.AppCompatActivity; 
 
import android.os.Bundle; 
 
import android.view.Display; 
 
import android.view.View; 
 
import android.widget.Button; 
 
import android.widget.EditText; 
 

 
import static android.provider.AlarmClock.EXTRA_MESSAGE; 
 

 
public class MainActivity extends AppCompatActivity implements View.OnClickListener { 
 
    Button button; 
 
    EditText editText; 
 
    EditText editText1; 
 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_main); 
 
     button = (Button) findViewById(R.id.buttonSubmit); 
 
     editText = (EditText) findViewById(R.id.editTextName); 
 
     editText1 = (EditText) findViewById(R.id.editTextEmail); 
 

 
     button.setOnClickListener(this); 
 
    } 
 

 
    @Override 
 
    public void onClick(View v) { 
 
     Intent intent = new Intent(this, DisplayActivity.class); 
 

 
     User user = new User(); 
 
     user.setName(editText.getText().toString()); 
 
     user.setEmail(editText1.getText().toString()); 
 

 
     intent.putExtra("NAME", user); 
 
     intent.putExtra("EMAIL", user); 
 

 
     startActivity(intent); 
 
    } 
 
}

関連する問題