public class AllQuestions extends Fragment {
ListView lstQuesions;
QuestionsAdapter mAdapter;
List<Question> questions;
DataBaseHelper dbHelper;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View convertView = inflater.inflate(R.layout.all_questions_layout, container,false);
lstQuesions = (ListView)convertView.findViewById(R.id.lstQuestions);
dbHelper = new DataBaseHelper(getActivity());
questions = dbHelper.getData();
mAdapter = new QuestionsAdapter(getActivity().getApplicationContext(), R.layout.lst_all_questions, questions);
lstQuesions.setAdapter(mAdapter);
return convertView;
}
public void setDataToAdapter(){
mAdapter.notifyDataSetChanged();
}
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
mAdapter.notifyDataSetChanged();
}
}
here in onResume()
the mAdapter.notifyDataSetChanged()
shows null
if I comment this line then it runs successfully and shows the list perfectly for the first time after launch.But when I add another input to database here the list was not refreshing.
I'm adding new item as
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.btnSave :
if(resetFields()){
String question = edtQuestion.getText().toString();
String OptionA = edtOptionA.getText().toString();
String OptionB = edtOptionB.getText().toString();
String OptionC = edtOptionC.getText().toString();
String OptionD = edtOptionD.getText().toString();
Calendar calender = Calendar.getInstance();
Date now = calender.getTime();
Timestamp currentTimeStamp = new Timestamp(now.getTime());
Question questionObj = new Question();
questionObj.setUserquestion(question);
questionObj.setOpta(OptionA);
questionObj.setOptb(OptionB);
questionObj.setOptc(OptionC);
questionObj.setOptd(OptionD);
questionObj.setCurrentDateTime(currentTimeStamp.toString());
dbHelper.addData(questionObj);
}
break;