03
Май
2020

Вызов функции non-static из static функции

возникла проблема, нужно из статичной функции вызвать вот эту:

public void culculateFprice() {
    TextView FinalBuy = (TextView) findViewById(R.id.buyText);
    int Pprice = MainActivity.pepperoni.getFinalPrice();
    int Cprice = MainActivity.calzone.getFinalPrice();
    int QCprice = MainActivity.quattrostagioni.getFinalPrice();
    int QFprice = MainActivity.quattroformaggi.getFinalPrice();
    int Mprice = MainActivity.mexican.getFinalPrice();
    int FinalPrice = Pprice + Cprice + QCprice + QFprice + Mprice;
    FinalBuy.setText("Стоимось вашего заказа: " + FinalPrice + " руб.");
}

Как это можно сделать?

P.S. при вызове через

new BasketPage().culculateFprice();

выходит следующая ошибка: отсылая именно к строчке

TextView FinalBuy = (TextView) findViewById(R.id.buyText); 

вот сама ошибка:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.pizzaometelly, PID: 27229
    java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
        at android.app.Activity.findViewById(Activity.java:2646)
        at com.example.pizzaometelly.BasketPage.culculateFprice(BasketPage.java:38)
        at com.example.pizzaometelly.BasketPage.onPlus(BasketPage.java:119)
        at com.example.pizzaometelly.RecyclerViewPizzasAdapter$PizzasViewHolder$1.onClick(RecyclerViewPizzasAdapter.java:80)
        at android.view.View.performClick(View.java:6897)
        at android.widget.TextView.performClick(TextView.java:12727)
        at android.view.View$PerformClick.run(View.java:26104)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6944)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Источник: https://ru.stackoverflow.com/questions/1119664/%D0%92%D1%8B%D0%B7%D0%BE%D0%B2-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-non-static-%D0%B8%D0%B7-static-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8

Тебе может это понравится...

Добавить комментарий