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

다이얼로그안에 토글 스위치... 질문입니다.

0 추천
Context mContext2 = getApplicationContext();
    LayoutInflater inflater2 = (LayoutInflater) mContext2
      .getSystemService(LAYOUT_INFLATER_SERVICE);
    View layout2 = inflater2.inflate(
      R.layout.tab_host_notification_log, null);
    
    final TextView tvStateofToggleButton;
    tvStateofToggleButton = (TextView) findViewById(R.id.tvstate);
    tvStateofToggleButton.setText("OFF");

    AlertDialog.Builder ntDialog = new AlertDialog.Builder(
      Tab_host_Setting.this);
    ntDialog.setTitle("알림 변경");
    ntDialog.setView(layout2);

    ntDialog.setPositiveButton("확인",
      new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog,
         int which) {

        ToggleButton tButton = (ToggleButton) findViewById(R.id.toggleButton1);
        tButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {

         @Override
         public void onCheckedChanged(
           CompoundButton buttonView,
           boolean isChecked) {

          if (isChecked) {
           tvStateofToggleButton.setText("ON");
           Log.e("토글", "ON");
          } else {
           tvStateofToggleButton
             .setText("OFF");
           Log.e("토글", "OFF");
          }

         }
        });
       }
      });
    AlertDialog ntlog = ntDialog.create();
    ntlog.show();

 

 

02-26 06:50:44.577: E/AndroidRuntime(810): java.lang.NullPointerException
02-26 06:50:44.577: E/AndroidRuntime(810):  at com.cj_tabhost.Tab_host_Setting$1.onItemClick(Tab_host_Setting.java:86)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.widget.AdapterView.performItemClick(AdapterView.java:284)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.widget.ListView.performItemClick(ListView.java:3513)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.os.Handler.handleCallback(Handler.java:587)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.os.Handler.dispatchMessage(Handler.java:92)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.os.Looper.loop(Looper.java:130)
02-26 06:50:44.577: E/AndroidRuntime(810):  at android.app.ActivityThread.main(ActivityThread.java:3683)
02-26 06:50:44.577: E/AndroidRuntime(810):  at java.lang.reflect.Method.invokeNative(Native Method)
02-26 06:50:44.577: E/AndroidRuntime(810):  at java.lang.reflect.Method.invoke(Method.java:507)
02-26 06:50:44.577: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-26 06:50:44.577: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-26 06:50:44.577: E/AndroidRuntime(810):  at dalvik.system.NativeStart.main(Native Method)

 

 

java.lang.NullPointerException 이 값이 왜 떨어기는것인가요 ㅠ.ㅠ 다이얼로그안에 토글 스위치 사용이 불가능 한것인지.. 머리속에서는 가능 할듯 한데.. 왜 널값이 떨어지는지를 모르겟어요 ㅠ.ㅠ
이전이후 (280 포인트) 님이 2013년 2월 26일 질문
오류나는 부분이 정확히 어느줄인가요?
tvStateofToggleButton.setText("OFF"); 이줄에서 오류가 뜹니다 ㅠ.ㅠ

1개의 답변

0 추천
 
채택된 답변
ntDialog.setPositiveButton("확인",
      new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog,
         int which) {

       }

      });

    ToggleButton tButton = (ToggleButton) layout2
      .findViewById(R.id.toggleButton1);
    final TextView tvStateofToggleButton;
    tvStateofToggleButton = (TextView) layout2
      .findViewById(R.id.tvstate);
    tvStateofToggleButton.setText("OFF");
    Log.e("토글", "1");
    tButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {

     @Override
     public void onCheckedChanged(CompoundButton buttonView,
       boolean isChecked) {
      Log.e("토글", "2");
      if (isChecked) {
       tvStateofToggleButton.setText("ON");
       Log.e("토글", "ON");
      } else {
       tvStateofToggleButton.setText("OFF");
       Log.e("토글", "OFF");
      }

     }
    });

    AlertDialog ntlog = ntDialog.create();
    ntlog.show();

 

자답입니다. 버튼 밖으로 빼니깐 인식 완료 되네요
이전이후 (280 포인트) 님이 2013년 2월 26일 답변
이전이후님이 2013년 3월 2일 채택됨
...