안녕하세요! NameActivity에서 EditText를 작성하고 버튼을 누르면, 화면이 LogInActivity로 전환됨과 동시에 EditText에 작성한 글이 UserActivity에 있는 TextView에 보여지는 코드를 작성하고 싶습니다.
아래 작성한 코드대로 실행할 경우, TextView에 보여지지 않아서... 해결 방법 알려 주시면 감사하겠습니다
NameActivity
public class NameActivity extends AppCompatActivity {
private Button confirm;
private EditText name;
private TextView cat_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
name = findViewById(R.id.name);
confirm = findViewById(R.id.confirm);
confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences("Name", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit(); //sharedPreferences를 제어할 editor를 선언
editor.putString("inputText", name.getText().toString()); // key,value 형식으로 저장
editor.commit();
Intent intent = new Intent(NameActivity.this, LogInActivity.class);
startActivity(intent);
}
});
}
}
activity_name.xml
<EditText
android:id="@+id/name"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:inputType="text"
android:maxLength="10"
android:maxLines="1"
android:orientation="vertical"
android:textAlignment="center"
android:textColor="@color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/confirm"
android:onClick="confirmBt"
android:backgroundTint="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="확인" />
UserActivity
public class UserActivity extends AppCompatActivity {
ImageButton back;
TextView cat_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
cat_name = findViewById(R.id.cat_name);
SharedPreferences sharedPreferences = getSharedPreferences("Name", MODE_PRIVATE);
String inputText = sharedPreferences.getString("Name", "");
cat_name.setText(inputText);
back = findViewById(R.id.back);
back.setOnClickListener(v -> onBackPressed() );
}
}
activity_user.xml
<TextView
android:id="@+id/cat_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:textSize="30dp"
android:textAlignment="center"
android:layout_centerHorizontal="true"
android:layout_marginTop="400dp"/>