인문과자연
50
2020-10-10 00:46:31
1
118

안드로이드 edittext error 같은데 도와주세요! 초보입니다.


package com.example.datepickerdialog;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.text.Editable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;


import android.os.Bundle;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
Button
btnSelectDate, btnSelectTime, btnSelectPerson;
DatePickerDialog datePickerDialog;
TimePickerDialog timePickerDialog;
EditText inputText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSelectDate=(Button)findViewById(R.id.button1);
btnSelectTime=(Button)findViewById(R.id.button2);
btnSelectPerson=(Button)findViewById(R.id.button3);

inputText=(EditText)findViewById(R.id.mesgase);
}

public void onClick(View v) {
if (v == btnSelectDate) {
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);

DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
btnSelectDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
}
}
, mYear, mMonth, mDay);
datePickerDialog.show();
}
if (v == btnSelectTime) {
final Calendar c = Calendar.getInstance();
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);

TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
btnSelectTime.setText(hourOfDay + ":" + minute);
}
}
, mHour, mMinute, false);
timePickerDialog.show();
}
if(v == btnSelectPerson){
LayoutInflater dialog = LayoutInflater.
from(this);
final View dialogLayout = dialog.inflate(R.layout.dialog, null);
final Dialog myDialog = new Dialog(this);

//myDialog.setTitle("대화상자 제목이다");
myDialog.setContentView(dialogLayout);
myDialog.show();

Button btn_ok = (Button)dialogLayout.findViewById(R.id.btn_ok);
Button btn_cancel = (Button)dialogLayout.findViewById(R.id.btn_cancel);

//EditText inputText= (EditText)findViewById(R.id.mesgase);


btn_ok.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//OK 누르면 할거
int asd = 123;
String edittext2;
edittext2= inputText.getText().toString();
if(edittext2.length()==0){ Log.d("null","the valueis null");}
btnSelectPerson.setText("asd");
myDialog.dismiss();
}
})
;

btn_cancel.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
myDialog.cancel();
}
})
;
}
}
/*
public void ShowDialog()
{
LayoutInflater dialog = LayoutInflater.from(this);
final View dialogLayout = dialog.inflate(R.layout.dialog, null);
final Dialog myDialog = new Dialog(this);

//myDialog.setTitle("대화상자 제목이다");
myDialog.setContentView(dialogLayout);
myDialog.show();

Button btn_ok = (Button)dialogLayout.findViewById(R.id.btn_ok);
Button btn_cancel = (Button)dialogLayout.findViewById(R.id.btn_cancel);

//EditText inputText= (EditText)findViewById(R.id.mesgase);


btn_ok.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//OK 누르면 할거
//String str = inputText.getText();
btnSelectPerson.setText(inputText.getText());
}
});

btn_cancel.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
myDialog.cancel();
}
});
}*/
}

안녕하세요 제가 노란색으로 위에는 전체 소스코드이고 노란색으로 칠한 부분이 문제가 있다고 생각하는 부분입니다.
커스텀 뷰를 만들어서 저 edittext에서 받아온 정보로 버튼의 텍스트를 바꾸려고 하는데 일반 "asd" 로 버튼.settext를 하면 잘 바뀌는데 edittext.gettext()를 하면 앱이 그대로 종료됩니다. 도움주시면 감사하겠습니다 ㅜㅜ

0
  • 답변 1

  • devcrema
    1k
    2020-10-10 23:20:53

    앱이 종료될때 뜨는 에러로그를 먼저 확인하시는게 좋을 거 같네요.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.