edittext의 객체를 가져 오는 중 어디에 응용 프로그램을 만들지 만 이로 인해 null이 반환되고 치명적인 예외가 발생합니다.android app에서 치명적인 예외가 발생했습니다
translateActivity.java
package diverse.technologies.transcriber;
public class translateActivity extends AppCompatActivity {
Button go;
TextView tv;
EditText et;
TableLayout tl,tml;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
tl = (TableLayout) findViewById(R.id.tablelayouttexthistory);
tml = (TableLayout) findViewById(R.id.tablemainlayout);
et = (EditText) findViewById(R.id.entertext);
tv = (TextView) findViewById(R.id.textView2);
go = (Button) findViewById(R.id.button);
et.clearFocus();
if(tml.requestFocus())
Log.d("focus","got on table");
else
Log.d("focus","couldn't get");
showhistory(); //showing history
//other code
}
activity_translate.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="diverse.technologies.transcriber.translateActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tablemainlayout">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:layout_height="89dp"
android:id="@+id/entertext"
android:text="Enter Text(English)"
android:layout_marginTop="20dp"
android:layout_width="206dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Go"
android:id="@+id/button"
android:gravity="left|center_vertical"
android:layout_marginTop="22dp" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="280dp"
android:layout_height="wrap_content"
android:text="Translated Text(Gujarati)"
android:id="@+id/textView2"
android:layout_row="1"
android:layout_columnSpan="2"
android:layout_marginTop="7dp"
android:textSize="25dp"
android:layout_span="2" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/tablelayouttexthistory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_span="2">
</TableLayout>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
예외 내가지고있어 그 :
E/AndroidRun 시간 : 치명적인 예외 : 주 프로세스 : diverse.technologies.transcriber, PID : 4447 java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {diverse.technologies.transcriber/diverse.technologies.transcriber.translateActivity} : java.lang. NullPointerException : null 객체 참조에서 가상 메소드 'void android.widget.EditText.clearFocus()'를 호출하려고 시도했습니다. android.app.ActivityThread.handleLaunchActivity (android.app.ActivityThread.handleLaunchActivity)에서 android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2509) ActivityThread.java:2569) android.app.ActivityThread.access $ 900 (ActivityThread.java:150) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1399) android.os.Handler.di spatchMessage (Handler.java:102) android.os.Looper.loop (Looper.java:168) at android.app.ActivityThread.main (ActivityThread.java:5885) at java.lang.reflect.Method. (기본 메서드) 에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:687) 에 의해 발생했습니다. : java.lang.NullPointerException : null 객체 참조에 가상 메소드 'void android.widget.EditText.clearFocus()'를 호출하려고 시도했습니다. at diverse에서 다양한 기술. 전송 기술. 번역 활성. 활성 (translateActivity.java:59) android .app.Activity.performCreate (Activity.java:6262)android.app.ActivityThread.handleLaunchActivity에서 android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2462) 에서 android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1125) (ActivityThread.java:2569) 에서 7백45경1천5백15조5백36억9천1백36만3천2백10에서 android.app.ActivityThread.access $ 900 (ActivityThread.java:150) android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1399) android.os.Handler.dispatchMessage (Handler.java:102) 에서 android.os.Looper.loop (Looper.java:168) android.app.ActivityThread.main (ActivityThread.java:5885) at java.lang.reflect.Method.invoke (네이티브 메소드)com.android.internal.os.ZygoteInit.main에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:797) 에서 17,451,515,(ZygoteInit.java:687)
도와주세요 . 나는 여기에 너무 붙어있어 ..
java.lang.NullPointerException이 : 시도는 가상 메소드를 호출하는 '무효 안드로이드 .widget.EditText.clearFocus() 'null 객체 참조에 –
하지만 왜 그것이 정확한 ID와 함께 제대로 가져올 때 널 포인터를 반환하고 있습니까?이 방법은 다른 활동에서 잘 작동합니다. @ 차루 –