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

스피너값 인텐트시 null이 됩니다.

0 추천

근무 관련 캘린더 앱을 만들고 있는 초보예요.

SettingActivity에서 스피너로 근무형태를 String으로 받아서 MAINActivity로 인텐트해서 값을 받으면 null이 됩니다.

선언이 잘못되었는지 String-String이 맞는지 보고 있는데 계속 null이 되네요.ㅠㅠ 도와주세요~

public class SettingActivity extends Activity implements View.OnClickListener {

    private Spinner spinner;
    private TextView tv_result;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_setting);

        Button saveBtn = (Button)findViewById(R.id.saveBtn);
        saveBtn.setOnClickListener(this);

        Spinner spinner = (Spinner) findViewById(R.id.spinner1);
        tv_result=(TextView)findViewById(R.id.tv_result);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                tv_result.setText(parent.getItemAtPosition(position).toString());

                String sDay = tv_result.getText().toString();


                Intent intent = new Intent(SettingActivity.this,MainActivity.class);
                intent.putExtra("spinner1",sDay);
                setResult(RESULT_OK,intent);
                Log.i("SettingActivity","sDay : " + sDay);



            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });


    }

    @Override
    public void onClick(View v) {

        Intent intent = new Intent(this,MainActivity.class);
        startActivity(intent);

    }
}
 //스피너에서 선택한 근무를 받아옴

    public void setData(){

        Intent intent = getIntent();

       // String sDay = intent.getExtras().getString("spinner1").toString();

        String sDay  = intent.getStringExtra("spinner1");
      

        System.out.println("스피너 인텐트 성공?");
        Log.i("MainActivity","sDay : " + sDay);



        Calendar calendar = Calendar.getInstance();

        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) +1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);



    }
10-30 23:03:36.119 25537-25537/com.sample.calendar_gridview_preference I/SettingActivity: sDay : 1
10-30 23:03:36.159 25537-25537/com.sample.calendar_gridview_preference I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@42095a18 time:414120369
10-30 23:03:37.349 25537-25537/com.sample.calendar_gridview_preference I/Timeline: Timeline: Activity_launch_request id:com.sample.calendar_gridview_preference time:414121553
10-30 23:03:37.369 25537-25537/com.sample.calendar_gridview_preference W/ApplicationPackageManager: getCSCPackageItemText()
10-30 23:03:37.389 25537-25537/com.sample.calendar_gridview_preference I/System.out: 스피너 인텐트 성공?
10-30 23:03:37.389 25537-25537/com.sample.calendar_gridview_preference I/MainActivity: sDay : null
10-30 23:03:37.409 25537-25537/com.sample.calendar_gridview_preference I/지난달 마지막일: 1
10-30 23:03:37.409 25537-25537/com.sample.calendar_gridview_preference I/이번달 시작일: 1
10-30 23:03:37.409 25537-25537/com.sample.calendar_gridview_preference I/DayOfMOnth: 3

 

lena7 (120 포인트) 님이 2019년 10월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...