2013-05-21 2 views
0

AlertDialog.Builder을 부풀려 시도했습니다. 내 대화 상자 안에 날짜 휠 (유리 Kanivets '휠)을 표시하려고합니다. 필자가 필요로하는 정확한 코드는 클래스 중 하나에 존재하기 때문에, 나는 자신의 프로젝트에 가져온 DateActivity 클래스의 새 인스턴스를 인스턴스화하려고하고 있는데,이를 내 대화 상자에 추가하려고한다. 아쉽게도 내 DateActivity 객체를 대화 상자에 연결할 수 없습니다. 나는 그것이 내가보기를 팽창시키는 논쟁 중의 하나 일 것이라고 생각했지만, 그것은 충돌한다. 여기 내 코드는 다음과 같습니다.AlertDialog.Builder를 사용하여 클래스를 활용하려고 할 때 null 포인터 오류가 발생했습니다.

편집 : 다음 코드에서 오류가 없음을 명확히하기 위해 다음을 수행합니다. 내가 언급 한 문제는 AlertDialog.Builder을 가진 변수 DateActivity의 사용법이없고 그러므로 연결이 없다는 것입니다. 그 변수 (dateWheelSelector)를 builderView에 대한 인수와 빌더 변수 인스턴스화를 사용해 보았지만이 두 가지 모두 충돌합니다. 나는 대화 상자가 비어있는 지금부터 연결하는 방법을 알아야합니다.

private void setStartDate() { 

    //somehow I need to use this variable, but where??? 
    DateActivity dateWheelSelector = new DateActivity(); 

    LayoutInflater inflater = LayoutInflater.from(this); 

    View builderView = inflater.inflate(R.layout.wheel_date_layout, null); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setView(builderView);  
    alert = builder.create(); 

    /* Set the title of this dialog programatically */ 
    TextView title = (TextView) builderView.findViewById(R.id.date_title); 
    title.setText("Choose Start Date"); 

    alert.show(); 
} 

의견을 보내 주셔서 감사합니다.

+0

스 니펫이 좋아 보인다. logcat 오류 게시 – Blackbelt

+0

죄송합니다. 명확하지 않았습니다. 위의 편집을 참조하십시오. 감사! – Alex

+0

당신은 NPE가 아니십니까? – Blackbelt

답변

2

대화 상자에 활동을 추가 할 수 없습니다. 액티비티를 대화 상자로 정의하거나 (Android Activity as a dialog 참조) DateActivity를 조각이나 대화 상자로 사용할 수있는 DialogFragment (http://developer.android.com/reference/android/app/DialogFragment.html 참조)로 리팩터링 할 수 있습니다.

+0

또는 DateActivity를 사용자 정의보기로 리팩터링하여 액티비티에 한 번 추가하고 다른 시간을 대화 상자에 추가 할 수 있습니다. – SimonSays

+0

확인. 감사. 나는 이것들을 조사 할 것이다. 나는 그것이 두려웠다. – Alex