소스코드입니다
package com.example.training;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class DbAdapter extends CursorAdapter {
int total = 0;
public DbAdapter(Context context, Cursor c){
super(context, c);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.listview_item,parent,false);
return v;
}
@Override
public void bindView(View view, Context context, Cursor cursor){
final TextView name = (TextView)view.findViewById(R.id.item_text1);
final TextView calorie = (TextView)view.findViewById(R.id.item_text2);
final Button add = (Button)view.findViewById(R.id.item_btn1);
final Button cancel = (Button)view.findViewById(R.id.item_btn2);
final TextView result = (TextView)view.findViewById(R.id.totalcal);
name.setText(cursor.getString(cursor.getColumnIndex("foodname")));
calorie.setText(cursor.getString(cursor.getColumnIndex("calorie")));
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int foodcal = Integer.parseInt(calorie.getText().toString());
total=total+foodcal;
result.setText(Integer.toString(Math.round(total))+"kcal");
}
});
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int foodcal = Integer.parseInt(calorie.getText().toString());
total = total-foodcal;
result.setText(Integer.toString(Math.round(total))+"kcal");
}
});
}
}
에러로그입니다.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.training, PID: 23813
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at com.example.training.DbAdapter$1.onClick(DbAdapter.java:44)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7343)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:933)