2014-01-10 4 views
2

나는 addTextChangedListener을 3 일 동안 사용하려고 시도했는데 로그에 그 내용은 java.lang.NullPointerException이 원인이라고 나와 있습니다. 내가 addTextChangedListener 블록에 댓글을 달면 프로그램이 잘 돌아 간다.Android : addTextChangedListener 크래시 앱

import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.ActionBar; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.text.Editable; 
import android.text.TextWatcher; 
import android.view.KeyEvent; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.os.Build; 
import android.view.inputmethod.EditorInfo; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

public class calc extends ActionBarActivity { 
    EditText text; 
    private TextView textout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_calc); 
     text = (EditText) findViewById(R.id.fs); 
     if (savedInstanceState == null) { 
      getSupportFragmentManager().beginTransaction() 
        .add(R.id.container, new PlaceholderFragment()) 
        .commit(); 
     } 
     text.addTextChangedListener(new TextWatcher() { 

      @Override 
      public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { 
      } 

      @Override 
      public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {   } 

      @Override 
      public void afterTextChanged(Editable s) { 
      } 
     }); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.calc, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    /** 
    * A placeholder fragment containing a simple view. 
    */ 
    public static class PlaceholderFragment extends Fragment { 

     public PlaceholderFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_calc, container, false); 
      return rootView; 
     } 
    } 



} 

여기에 로그가 있습니다.

01-09 16:03:12.280 1088-1088/com.fuzato.buckconverter E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.fuzato.buckconverter, PID: 1088 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fuzato.buckconverter/com.fuzato.buckconverter.calc}: java.lang.NullPointerException 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
      at android.app.ActivityThread.access$800(ActivityThread.java:135) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5017) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException 
      at com.fuzato.buckconverter.calc.onCreate(calc.java:39) 
      at android.app.Activity.performCreate(Activity.java:5231) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
            at android.app.ActivityThread.access$800(ActivityThread.java:135) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5017) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:515) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
            at dalvik.system.NativeStart.main(Native Method) 

로그는 문제가 onCreate에서 발견되고 그것이 java.lang.NullPointerException이에 의해 발생되는 것을 말한다.

의견이 있으십니까?

모든 것에 감사드립니다.

레이아웃 :

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:clickable="false"> 

    <GridLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignWithParentIfMissing="false" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="61dp" 
     android:layout_marginTop="43dp" 
     android:id="@+id/gridLayout"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Switching Freq. (Fs)" 
      android:id="@+id/fs" 
      android:layout_row="0" 
      android:layout_column="0" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Output Voltage (V2)" 
      android:id="@+id/V2" 
      android:layout_row="1" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/V2" 
      android:layout_row="1" 
      android:layout_column="1" 
      android:text="10" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Volts" 
      android:id="@+id/textView12" 
      android:layout_row="1" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Input Voltage (V1)" 
      android:id="@+id/textView3" 
      android:layout_row="2" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/V1" 
      android:layout_row="2" 
      android:layout_column="1" 
      android:text="10" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Volts" 
      android:id="@+id/textView13" 
      android:layout_row="2" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Duty Cycle (k)" 
      android:id="@+id/k" 
      android:layout_row="3" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/k" 
      android:layout_row="3" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Current Ripple (ΔI)" 
      android:id="@+id/textView5" 
      android:layout_row="4" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/deltaI" 
      android:layout_row="4" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Amps" 
      android:id="@+id/textView15" 
      android:layout_row="4" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Voltage Ripple (ΔV)" 
      android:id="@+id/textView6" 
      android:layout_row="5" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/deltaV" 
      android:layout_row="5" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Volts" 
      android:id="@+id/textView16" 
      android:layout_row="5" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Max current (Imax)" 
      android:id="@+id/Imax" 
      android:layout_row="6" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/Imax" 
      android:layout_row="6" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Amps" 
      android:id="@+id/textView17" 
      android:layout_row="6" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Min Current (Imin)" 
      android:id="@+id/Imin" 
      android:layout_row="7" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/Imin" 
      android:layout_row="7" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Amps" 
      android:id="@+id/textView18" 
      android:layout_row="7" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Inductance (L)" 
      android:id="@+id/Ind" 
      android:layout_row="8" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/L" 
      android:layout_row="8" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="mH" 
      android:id="@+id/textView19" 
      android:layout_row="8" 
      android:layout_column="2" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Capacitance (C)" 
      android:id="@+id/cap" 
      android:layout_row="9" 
      android:layout_column="0" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/fs" 
      android:layout_row="0" 
      android:layout_column="1" 
      android:text="10" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hz" 
      android:id="@+id/textView11" 
      android:layout_row="0" 
      android:layout_column="2" /> 

     <EditText 
      android:layout_width="124dp" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:id="@+id/C" 
      android:layout_row="9" 
      android:layout_column="1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="uF" 
      android:id="@+id/textView20" 
      android:layout_row="9" 
      android:layout_column="2" /> 
    </GridLayout> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@+id/gridLayout" 
     android:id="@+id/relativeLayout"> 

    </RelativeLayout> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="apply" 
     android:id="@+id/button" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/enter" 
     android:layout_below="@+id/relativeLayout" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="94dp" 
     android:text="3" /> 

</RelativeLayout> 

나는 또한 내 전화에 그것을 debbug 위해 노력했다, 나는 같은 문제를 얻을.

+2

편집 텍스트가'instance'가 ** null이므로 앱이 다운됩니다 ** –

+0

xml 레이아웃 편집 텍스트 ID를 'fs'- 작은 기호로 변경하는 것이 좋습니다. 그 후 EditText text = findViewbyID (...)를 인스턴스화하고 listener를 설정합니다. –

+0

관련 레이아웃을 추가 할 수 있습니까 – Coderji

답변

0

시도 변화 TextView text;EditText text;

+0

나는 그것을 바꿨다. didnt는 또한 일한다. 코드를 업데이트했습니다. – Guifuzato

1

난 당신이 응용 프로그램 처음에 컴파일 이유는 전혀 모르겠지만, 문제가 처음에는보기를 찾을 수 없습니다 때문에 같이 findViewById() 메소드가 null를 반환되었다고 하였다 당신의 ID와 일치합니다.

현재 문제는 다음과 같습니다 - 그것이 글고 해야한다 동안 당신의 텍스트 개체는 텍스트 뷰로 선언 - 레이아웃에 ID를 R.id.fs로보기는 그것이 글고 있어야 할 텍스트 뷰입니다.

+0

레이아웃을 EditText로 변경했지만 여전히 동일한 문제가 발생합니다. 위에 업데이트 됨. – Guifuzato

+0

TextView에서 EditText로 텍스트 정의를 변경 했습니까? 코드와 오류 메시지를 업데이트하고 오류가 발생한 행을 강조 표시 할 수 있습니까? – TheIT

+0

변경되었습니다. 현재 작동 중입니다. 그러나 나는 프로젝트를 다시 시작했다. fragment_main에서 프로그래밍 중이었고, main_activity로 바꿨습니다. – Guifuzato

0

문제점을 발견했습니다. 내 레이아웃이 fragment_main에있었습니다. 죄송합니다.

도움을 주셔서 감사합니다.