마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

edittext로 받은 값을 textview로 출력하고 싶습니다

0 추천

infomation 등록하는 창에서 edittext로 값을 입력받고, 이 입력받은 값을 MainActivity의 textview에 뜨게 하고 싶은데 잘 안 됩니다. 어플리케이션을 실행해 보면, Main에서 textview로 Name, Birth라고 적어둔 것이 아예 뜨지도 않고요 ㅠㅠ InfoActivity 창에서 REGISTER를 누르면 아예 어플이 꺼져버립니다... 코드의 어느 부분에 이상이 있는지 한번 봐주세요! 

 

InfoActivity에서 name과 birth로 값을 받아 Main에서 넘겨받는 걸로 했는데 ㅠㅠ... 

1) MainActivity

package com.example.dain.test_info;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity{

    private TextView etName;
    private TextView etBirth;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = getIntent();
        String name = intent.getStringExtra("name");
        String birth = intent.getStringExtra("birth");

        etName = (TextView) findViewById(R.id.etName);
        etBirth = (TextView) findViewById(R.id.etBirth);

        etName.setText(name);
        etBirth.setText(birth);
        }


    public void onSettingClicked(View v){
        Intent intent = new Intent(this, InfoActivity.class);
        startActivity(intent);
    }
}

 

2) InfoActivity

package com.example.dain.test_info;

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

public class InfoActivity extends AppCompatActivity{
    private EditText etName;
    private EditText etBirth;
    private Button btnDone;
    private Button btnCancel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_info);

        etName = (EditText) findViewById(R.id.etName);
        etBirth = (EditText) findViewById(R.id.etBirth);
        btnDone = (Button) findViewById(R.id.btnDone);
        btnCancel = (Button) findViewById(R.id.btnCancel);

        btnDone.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                if(etName.getText().toString().length() == 0){
                    Toast.makeText(InfoActivity.this, "Put the NAME again!", Toast.LENGTH_SHORT).show();
                    etName.requestFocus();
                    return;
                }

                if(etBirth.getText().toString().length() == 0){
                    Toast.makeText(InfoActivity.this, "Put the BIRTH again!", Toast.LENGTH_SHORT).show();
                    etBirth.requestFocus();
                    return;
                }

                Intent intent = new Intent();
                intent.putExtra("name", etName.getText().toString());
                intent.putExtra("birth", etBirth.getText().toString());

                startActivity(intent);
                finish();
            }
        });

        btnCancel.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
            }
        });

    }
}
익명사용자 님이 2016년 11월 5일 질문

1개의 답변

0 추천
infoactivity에서 intent만드시고 경로설정을 안하셨네요

main에서 info 요청후 다시 main으로 값반환하게 하고싶으시면

startactivityForResult 검색해보세요
찔라 (280 포인트) 님이 2016년 11월 6일 답변
...