0
タブがクリックされたときに呼び出されるフラグメントクラスがあります。フラグメント内のデータベースリストビューにデータを挿入しても、自動リフレッシュは行われません。リストビューは、アプリケーションを再オープンする場合、または他のタブを切り替えた後にのみ現在のタブが開いている場合のみリフレッシュされます。現在のフラグメントのリストビューを自動更新するのを手伝ってください。データがデータベースに挿入されたときのフラグメント内のListViewの自動更新
SocialFragment.java
package layout;
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import com.example.kiran.herau.NewDatabaseAdapter;
import com.example.kiran.herau.R;
public class SocialFragment extends Fragment {
protected BaseAdapter mAdapter;
private SimpleCursorAdapter dataAdapter;
NewDatabaseAdapter vivzHelper;
TextView text;
Context context;
@Nullable
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.activity_fifth, null);
ListView lb = (ListView)view.findViewById(R.id.listView1);
context = getActivity().getBaseContext();
vivzHelper = new NewDatabaseAdapter(getActivity());
Cursor cursor = vivzHelper.fetchAllData();
// The desired columns to be bound
String[] columns = new String[]{
NewDatabaseAdapter.NewDatabaseHelper.UID,
NewDatabaseAdapter.NewDatabaseHelper.TEACHER_NAME,
NewDatabaseAdapter.NewDatabaseHelper.SUBJECT_NAME,
NewDatabaseAdapter.NewDatabaseHelper.START_TIME,
NewDatabaseAdapter.NewDatabaseHelper.END_TIME,
};
// the XML defined views which the data will be bound to
int[] to = new int[]{
R.id.uid,
R.id.date,
R.id.time,
R.id.subject,
R.id.end_time,
};
// create the adapter using the cursor pointing to the desired data
//as well as the layout information
dataAdapter = new SimpleCursorAdapter(
context, R.layout.routinerow,
cursor,
columns,
to,
0);
lb.setEmptyView(view.findViewById(R.id.empty));
dataAdapter.notifyDataSetChanged();
// Assign adapter to ListView
lb.setAdapter(dataAdapter);
return view;
}
}