Мне нужно иметь доступ к двойнику в текстовом представлении 'quota', чтобы поработать с ним.Проблема в том, что я получаю ошибку в строке, где предполагается получить значение.Это может быть из-за того, что textview находится в раздутом макете, я не уверен.
Я пытался использовать имя, установленное в моем адаптере, которое, как я думал, могло бы быть способом доступа к нему, но не повезло.
Нахождение текстового представления в основном классе, называя его квотой
quota = findViewById(R.id.textView_dailyData_BricksQuota);
Нахождение текстового представления в классе адаптера, называя его dataBricksQuota, попытался вызвать этовместо этого в основном классе, но не работает
TextView dataBricksQuota = view.findViewById(R.id.textView_dailyData_BricksQuota);
dataBricksQuota.setText(String.valueOf(project.getBricksQuota()));
Проблема возникает в первой строке этого оператора if, где я пытаюсь получить значение textview в основном классе
if (projectDay >= 2) {
String currentBrickQuota = quota.getText().toString();
double currentBrickQuotaDouble = Double.parseDouble(currentBrickQuota);
double averageBrickRunningQuota = ((2 * currentBrickQuotaDouble + averageBricksNDatabase) / projectDay);
String sql = "UPDATE activeProjectsTable SET averageBricks = ? WHERE ProjectId = (SELECT MAX(ProjectId) FROM activeProjectsTable)";
AusWideDatabase.execSQL(sql, new Double[] {
averageBrickRunningQuota
});
}
Я бы подумал, что он просто примет значение textview, чтобы его можно было использовать в уравнении, однако, когда я запускаю оператор if, возникает ошибка.
Ошибка
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:7333)
at android.widget.TextView.performClick(TextView.java:14160)
at android.view.View.performClickInternal(View.java:7299)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27774)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6981)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.TextView.getText()' on a null object reference
at com.auswide.auswideapp.dailyData.LoadEodChecklist(dailyData.java:145)
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:7333)
at android.widget.TextView.performClick(TextView.java:14160)
at android.view.View.performClickInternal(View.java:7299)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27774)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6981)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)