2017-11-10 2 views
0

개체의 toString을 다른 TextViews에 전달하는 방법을 찾으려고합니다. 아래는 현재 어떻게하고 있고, 메인 액티비티의 EditText 입력을 디스플레이 액티비티로 보내지 만, 내가 코딩 한 첫 번째 필드 만 대상으로합니다. 문제는 코드를 별도의 TextView에 푸시하는 방법을 파악할 수 없다는 것입니다.Object toString을 사용하여 TextViews를 구분합니다.

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

이 문제를 해결하려면 아래 코드를 추가하십시오. 각 값에 대해 새로운 텍스트 뷰와 편집 텍스트를 설정해야했습니다.

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

관련 문제