آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

FATAL EXCEPTION: main java.lang.NullPointerException

aboozar  6 سال پیش  6 سال پیش
0 0

سلام.

دوستان من پروژه calculator که دارم روش کار میکنم همون اول کار برا تست که اجراش میکنم برنامه راحت نصب میشه بالا هم میاره ولی وقتی رو دکمه ای که براش setOnclickListener تعریف کردم کلیک میکنم پیغام Unfortunately, Calc has stoped روی گوشیم میاد و برنامه بسته میشه.

داخل logcat هم این ارور رو میده:

05-03 05:46:19.964 1916-1916/app.calculatormechine.oghalaei.hossein.calculatormechine E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at app.calculatormechine.oghalaei.hossein.calculatormechine.MainActivity.appendNumber(MainActivity.java:35)
at app.calculatormechine.oghalaei.hossein.calculatormechine.MainActivity$1.onClick(MainActivity.java:70)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

اگه میشه کمک کنید دارم دیوونه میشم :(

0 0
کدوم دکمه؟ کدتون رو هم بزارید (6 سال پیش)
0 0
package app.calculatormechine.oghalaei.hossein.calculatormechine; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView txt_result; TextView txt_history; Button btn_0; Button btn_1; Button btn_2; Button btn_3; Button btn_4; Button btn_5; Button btn_6; Button btn_7; Button btn_8; Button btn_9; Button btn_division; Button btn_multiply; Button btn_mines; Button btn_plus; Button btn_sign; Button btn_dot; Button btn_back; Button btn_clear; Button btn_clearEntity; Button btn_equal; public void appendNumber(int num){ txt_result.setText(txt_result.getText().toString() + num); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView txt_result = (TextView) findViewById(R.id.txt_result); TextView txt_history = (TextView) findViewById(R.id.txt_history); btn_0 = (Button) findViewById(R.id.btn_0); btn_1 = (Button) findViewById(R.id.btn_1); btn_2 = (Button) findViewById(R.id.btn_2); btn_3 = (Button) findViewById(R.id.btn_3); btn_4 = (Button) findViewById(R.id.btn_4); btn_5 = (Button) findViewById(R.id.btn_5); btn_6 = (Button) findViewById(R.id.btn_6); btn_7 = (Button) findViewById(R.id.btn_7); btn_8 = (Button) findViewById(R.id.btn_8); btn_9 = (Button) findViewById(R.id.btn_9); btn_division = (Button) findViewById(R.id.btn_division); btn_multiply = (Button) findViewById(R.id.btn_multiply); btn_mines = (Button) findViewById(R.id.btn_mines); btn_plus = (Button) findViewById(R.id.btn_plus); btn_sign = (Button) findViewById(R.id.btn_sign); btn_dot = (Button) findViewById(R.id.btn_dot); btn_back = (Button) findViewById(R.id.btn_back); btn_clear = (Button) findViewById(R.id.btn_clear); btn_clearEntity = (Button) findViewById(R.id.btn_clearEntity); btn_equal = (Button) findViewById(R.id.btn_equal); btn_0.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendNumber(0); } }); } } این کد main (6 سال پیش)
0 0
متد appendnumber هم بزارید (6 سال پیش)
 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
aboozar  6 سال پیش
0 0

پاسخ به سوال 
aboozar  6 سال پیش
0 0

package app.calculatormechine.oghalaei.hossein.calculatormechine;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView txt_result;
TextView txt_history;
Button btn_0;
Button btn_1;
Button btn_2;
Button btn_3;
Button btn_4;
Button btn_5;
Button btn_6;
Button btn_7;
Button btn_8;
Button btn_9;
Button btn_division;
Button btn_multiply;
Button btn_mines;
Button btn_plus;
Button btn_sign;
Button btn_dot;
Button btn_back;
Button btn_clear;
Button btn_clearEntity;
Button btn_equal;
public void appendNumber(int num){
txt_result.setText(txt_result.getText().toString() + num);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView txt_result = (TextView) findViewById(R.id.txt_result);
TextView txt_history = (TextView) findViewById(R.id.txt_history)
btn_0 = (Button) findViewById(R.id.btn_0);
btn_1 = (Button) findViewById(R.id.btn_1);
btn_2 = (Button) findViewById(R.id.btn_2);
btn_3 = (Button) findViewById(R.id.btn_3);
btn_4 = (Button) findViewById(R.id.btn_4);
btn_5 = (Button) findViewById(R.id.btn_5);
btn_6 = (Button) findViewById(R.id.btn_6);
btn_7 = (Button) findViewById(R.id.btn_7);
btn_8 = (Button) findViewById(R.id.btn_8);
btn_9 = (Button) findViewById(R.id.btn_9);
btn_division = (Button) findViewById(R.id.btn_division);
btn_multiply = (Button) findViewById(R.id.btn_multiply);
btn_mines = (Button) findViewById(R.id.btn_mines);
btn_plus = (Button) findViewById(R.id.btn_plus);
btn_sign = (Button) findViewById(R.id.btn_sign);
btn_dot = (Button) findViewById(R.id.btn_dot);
btn_back = (Button) findViewById(R.id.btn_back);
btn_clear = (Button) findViewById(R.id.btn_clear);
btn_clearEntity = (Button) findViewById(R.id.btn_clearEntity);
btn_equal = (Button) findViewById(R.id.btn_equal);
btn_0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber(0);
}
});
}
}
0 0
متد appendNumber رو تعریف نکردید؟ اگر تعریف نکردید برای همین خطا میده. اگر هم تعریف کردید کجا تعریف کردید. اونم بیارید؟ (6 سال پیش)
0 0
تعریف کردم دقیقا قبل از onCreate کد دقیقا کپی سورسی هست که آقاجانی نوشته (6 سال پیش)
0 0
اینجا یه ; نداره آخرش 'TextView txt_history = (TextView) findViewById(R.id.txt_history)' (6 سال پیش)
0 0
این کپی نشده بود.داخل کو خودم درسته.اصلا ارور مرتبط با ; نیست (6 سال پیش)
پاسخ به سوال 
فرشاد  6 سال پیش
0 0

برای کذاشتن کدهاتون از این امکانت استفاده کنید

پاسخ به سوال 
jabi  6 سال پیش
0 0

سلام
در متد appendnumber دارین ک مقدار به صورت String میخونید و با عددی از جنس int جمع می‌کنید !!!! کد زیر رو جایگزین کنید

 
  public void appendNumber(int num){
int result = Integer.parseInt(txt_result.getText().toString());
txt_result.setText("" + result + num);
}
 
0 0
بازم تغییری نکردِهمون ارورو قبلی رو میده (6 سال پیش)
0 0
بجای AppcomaptActivity بزار Activity در فایل xml هم بررسی کنید اگر رنگی چیزی دادید ببینید اشتباهی نداره (6 سال پیش)
0 0
همچنان همون ارور رو میده. (6 سال پیش)
پاسخ به سوال 
فرشاد  6 سال پیش
0 0

این دو تا رو پاک کن چون بالا تعرف شدن TextView را پاک کن تا به فیلد تبدیل بشن.

0 0
اینم درست کردم بازم درس نمیشه. :( (6 سال پیش)
0 0
من همین کد شما رو ک‍پی کردم با تغییرات بالا ولی فقط واسه یه دکمه کار میکنه. `public class Test extends AppCompatActivity { TextView txt_result; Button btn_0; public void appendNumber(int num) { txt_result.setText(txt_result.getText().toString() + num); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt_result = (TextView) findViewById(R.id.txt_result); btn_0 = (Button) findViewById(R.id.btn_0); btn_0.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendNumber(0); } }); } }` (6 سال پیش)
0 0
چون دقیقا فقط برای یه دکمه تعریفش کردم.میشه نسخه ی jdk و android studio و gradle که استفاده میکنی بهم بگی صاید به خاطر اینا هست. (6 سال پیش)
0 0
من از آندروید استودیو و همه چیزهایی که استاد گفتن استفاده می کنم. فک نکنم مربوط به این باشه. می خواید برنامه رو بفرستید برام ببینمش ببینیم چه جوریه که این کار ساده انجام نمی شه. (6 سال پیش)
+1 0
فک میکنم آنتی ویروسم jdk رو خراب کرده چون قبلا کار میکرد الان هر کدی میزنم همین ارور رو میده.حالا ویندوزم عوض میکنم ببینم چی میشه.بازم ممنون به خاطر کمکتون (6 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .