I have gone through this link. But the given solution does not solve my problem. All well experienced persons suggested to use getActivty().getApplicationContext()
. But I'm using a normal class instead of activity. I'm getting all the UI values and initialized to the objects which is in my fragment. So from there I tried to save it in my database. I'm using normal class for database which is not extending anything.
I'm getting two errors when I pass the values from my main fragment to database class:
- The constructor DatePickerDialog(TopRatedFragment, DatePickerDialog.OnDateSetListener, int, int, int) is undefined
- create method getApplicationContext()
Please give me some idea to solve this problem.
Here is my Fragment class code.
public class TopRatedFragment extends Fragment {
public EditText text1,text2,text3,text4;
Button date,save;
TextView textdate;
DatePicker datepicker;
ListView expenselist;
private int myear,mmonth,mday;
ArrayList<String> DayExpenseList = new ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_main, container,
false);
text1 = (EditText) rootView.findViewById(R.id.editText1);
text2=(EditText) rootView.findViewById(R.id.editText2);
text3=(EditText) rootView.findViewById(R.id.editText3);
text4=(EditText) rootView.findViewById(R.id.editText4);
textdate = (TextView) rootView.findViewById(R.id.textView6);
save = (Button) rootView.findViewById(R.id.button1);
date=(Button) rootView.findViewById(R.id.datepicker);
expenselist = (ListView) rootView.findViewById(R.id.listView1);
date.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DatePickerDialog dpd = new DatePickerDialog(TopRatedFragment.this, mDateSetListener, myear, mmonth, mday);
dpd.show();
}
});
final Calendar c = Calendar.getInstance();
myear = c.get(Calendar.YEAR);
mmonth = c.get(Calendar.MONTH);
mday = c.get(Calendar.DAY_OF_MONTH);
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String entertainment = text1.getText().toString();
String food = text2.getText().toString();
String medicine = text3.getText().toString();
String travel = text4.getText().toString();
DBHelper helper = new DBHelper(getApplicationContext());
helper.insertValues(entertainment, food, medicine, travel);
DayExpenseList = helper.getValues();
setAdapter();
}
});
return rootView;
}
private void setAdapter()
{
expenselist.setAdapter(new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,DayExpenseList));
}
private void updateDisplay() {
// TODO Auto-generated method stub
textdate.setText(new StringBuilder()
.append(mday).append("-").append(mmonth+1).append("-")
.append(myear));
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
myear=year;
mmonth=monthOfYear;
mday=dayOfMonth;
updateDisplay();
}
};
}