Example usage for android.support.v4.widget CursorAdapter FLAG_REGISTER_CONTENT_OBSERVER

List of usage examples for android.support.v4.widget CursorAdapter FLAG_REGISTER_CONTENT_OBSERVER

Introduction

In this page you can find the example usage for android.support.v4.widget CursorAdapter FLAG_REGISTER_CONTENT_OBSERVER.

Prototype

int FLAG_REGISTER_CONTENT_OBSERVER

To view the source code for android.support.v4.widget CursorAdapter FLAG_REGISTER_CONTENT_OBSERVER.

Click Source Link

Document

If set the adapter will register a content observer on the cursor and will call #onContentChanged() when a notification comes in.

Usage

From source file:org.tigase.mobile.chat.ChatAdapter.java

public ChatAdapter(Context context, int layout) {
    super(context, layout, null, cols, names, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    String tmp = null;// prefs.getString(Preferences.NICKNAME_KEY, null);
    nickname = tmp == null || tmp.length() == 0 ? null : tmp;
}

From source file:eu.chainfire.geolog.ui.ProfilesFragment.java

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    setEmptyText(getResources().getString(R.string.profiles_empty));
    setListShown(false);//from   w ww  .  j a  v  a 2  s.co m

    getLoaderManager().initLoader(LIST_LOADER, null, this);
    adapter = new CursorAdapter(getActivity(), null, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER) {
        private LayoutInflater inflater = null;
        private String formatName = null;

        private ViewHolder holderFromView(View v) {
            if ((v.getTag() != null) && (v.getTag() instanceof ViewHolder)) {
                return (ViewHolder) v.getTag();
            } else if ((v.getParent() != null) && (v.getParent() instanceof View)) {
                return holderFromView((View) v.getParent());
            }
            return null;
        }

        private OnClickListener onTimerClick = new OnClickListener() {
            @Override
            public void onClick(View v) {
                //ViewHolder holder = holderFromView(v);
                //TODO: handle
            }
        };

        private OnClickListener onEditClick = new OnClickListener() {
            @Override
            public void onClick(View v) {
                ViewHolder holder = holderFromView(v);
                ProfileActivity.launchActivity(getActivity(), holder.profile.getId());
            }
        };

        private OnClickListener onDeleteClick = new OnClickListener() {
            @Override
            public void onClick(View v) {
                ViewHolder holder = holderFromView(v);
                final long id = holder.profile.getId();

                (new AlertDialog.Builder(getActivity())).setTitle(R.string.generic_delete)
                        .setMessage(Html.fromHtml(String.format(Locale.ENGLISH,
                                getString(R.string.profile_delete_confirm), holder.profile.getName())))
                        .setPositiveButton(getString(R.string.generic_delete),
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        Database.Profile.delete(Database.Helper.getInstance(getActivity()), id);
                                    }
                                })
                        .setNegativeButton(getString(R.string.generic_cancel), null).show();
            }
        };

        @Override
        public View newView(Context context, Cursor cursor, ViewGroup root) {
            if (inflater == null)
                inflater = LayoutInflater.from(context);

            formatName = context.getString(R.string.row_profiles_name);

            return inflater.inflate(R.layout.row_profiles, null);
        }

        @Override
        public void bindView(View view, Context context, Cursor cursor) {
            ViewHolder holder = (ViewHolder) view.getTag();
            if (holder == null) {
                holder = new ViewHolder();
                holder.container = view.findViewById(R.id.container);
                holder.name = (TextView) view.findViewById(R.id.name);
                holder.timer = (ImageView) view.findViewById(R.id.timer);
                holder.timer.setOnClickListener(onTimerClick);
                holder.edit = (ImageView) view.findViewById(R.id.edit);
                holder.edit.setOnClickListener(onEditClick);
                holder.delete = (ImageView) view.findViewById(R.id.delete);
                holder.delete.setOnClickListener(onDeleteClick);
                holder.profile = new Database.Profile();
                view.setTag(holder);
            }

            holder.profile.loadFromCursor(cursor);

            boolean selected = (holder.profile.getId() == currentProfileId);
            boolean readonly = (holder.profile.getType() == Database.Profile.Type.OFF);

            //holder.timer.setVisibility((selected || readonly) ? View.GONE : View.VISIBLE);
            holder.timer.setVisibility(View.GONE); //TODO disabled for now
            holder.edit.setVisibility(readonly ? View.GONE : View.VISIBLE);
            holder.delete.setVisibility(readonly ? View.GONE : View.VISIBLE);

            if (selected) {
                holder.container.setBackgroundColor(0xFFa8dff4);
            } else {
                holder.container.setBackgroundDrawable(null);
            }

            holder.name.setText(
                    Html.fromHtml(String.format(Locale.ENGLISH, formatName, holder.profile.getName())));
        }
    };
    setListAdapter(adapter);

    getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            currentProfileId = id;

            PreferenceManager.getDefaultSharedPreferences(getActivity()).edit()
                    .putLong(SettingsFragment.PREF_CURRENT_PROFILE, id).commit();

            Database.Profile profile = Database.Profile.getById(Database.Helper.getInstance(getActivity()), id,
                    null);
            if (profile.getType() != Database.Profile.Type.OFF)
                BackgroundService.startService(getActivity());

            getListView().invalidateViews();
        }
    });
}

From source file:org.sufficientlysecure.keychain.ui.ImportKeysSearchFragment.java

@Override
public View onCreateView(LayoutInflater i, ViewGroup c, Bundle savedInstanceState) {
    ContactHelper contactHelper = new ContactHelper(mActivity);
    mNamesAndEmails = contactHelper.getContactNames();
    mNamesAndEmails.addAll(contactHelper.getContactMails());

    mSearchAdapter = new SimpleCursorAdapter(mActivity, R.layout.import_keys_cloud_suggestions_item, null,
            new String[] { CURSOR_SUGGESTION }, new int[] { android.R.id.text1 },
            CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    setHasOptionsMenu(true);/*from ww w .j av a  2 s.c om*/

    // no view, just search view
    return null;
}

From source file:com.lewa.crazychapter11.DBTest.java

private void inflateList(Cursor cursor) {
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(DBTest.this, R.layout.db_line, cursor,
            new String[] { "news_title", "news_content" }, new int[] { R.id.my_title, R.id.my_content },
            CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    listView.setAdapter(adapter);//from  w  w w.ja  v  a 2  s . c  o m
    Log.i("DBTest", "inflateList 44444");
}

From source file:com.nextgis.maplibui.util.TrackView.java

private void init(Context context) {
    mContext = context;/*from   w  w  w . jav a2 s. c o  m*/
    mSelectedIds = new ArrayList<>();

    int[] attrs = new int[] { R.attr.ic_action_visibility_on, R.attr.ic_action_visibility_off };
    TypedArray ta = mContext.obtainStyledAttributes(attrs);
    mVisibilityOn = ta.getDrawable(0);
    mVisibilityOff = ta.getDrawable(1);
    ta.recycle();

    setItemsCanFocus(false);
    setChoiceMode(CHOICE_MODE_MULTIPLE);

    if (context instanceof AppCompatActivity) {
        AppCompatActivity activity = (AppCompatActivity) context;
        IGISApplication application = (IGISApplication) activity.getApplication();
        mContentUriTracks = Uri
                .parse("content://" + application.getAuthority() + "/" + TrackLayer.TABLE_TRACKS);

        String[] from = new String[] { TrackLayer.FIELD_NAME, TrackLayer.FIELD_VISIBLE };
        int[] to = new int[] { R.id.tv_name, R.id.iv_visibility };
        mTrackAdapter = new TrackAdapter(context, R.layout.row_track, null, from, to,
                CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
        setAdapter(mTrackAdapter);

        activity.getSupportLoaderManager().initLoader(TRACKS_ID, null, this);
    }

    setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            CheckedTextView name = (CheckedTextView) view.findViewById(R.id.tv_name);
            name.setChecked(!name.isChecked());

            if (name.isChecked())
                mSelectedIds.add(id + "");
            else
                mSelectedIds.remove(id + "");

            if (mCheckedChangeListener != null)
                mCheckedChangeListener.onCheckedChanged();
        }
    });
}

From source file:cm.aptoide.ptdev.ScheduledDownloadsActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    Aptoide.getThemePicker().setAptoideTheme(this);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page_sch_downloads);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(true);
    getSupportActionBar().setTitle(getString(R.string.setting_schdwntitle));

    lv = (ListView) findViewById(android.R.id.list);
    lv.setDivider(null);/*from  w  w  w .j av  a 2 s  . c  o m*/
    db = new Database(Aptoide.getDb());
    bindService(new Intent(this, DownloadService.class), conn, Context.BIND_AUTO_CREATE);

    adapter = new CursorAdapter(this, null, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER) {

        @Override
        public View newView(Context context, Cursor arg1, ViewGroup arg2) {
            return LayoutInflater.from(context).inflate(R.layout.row_sch_download, null);
        }

        @Override
        public void bindView(View convertView, Context arg1, Cursor c) {
            // Planet to display
            ScheduledDownload scheduledDownload = scheduledDownloadsHashMap
                    .get(c.getLong(c.getColumnIndex("_id")));

            // The child views in each row.
            CheckBox checkBoxScheduled;
            TextView textViewName;
            TextView textViewVersion;
            ImageView imageViewIcon;

            // Create a new row view
            if (convertView.getTag() == null) {

                // Find the child views.
                textViewName = (TextView) convertView.findViewById(R.id.name);
                textViewVersion = (TextView) convertView.findViewById(R.id.appversion);
                checkBoxScheduled = (CheckBox) convertView.findViewById(R.id.schDwnChkBox);
                imageViewIcon = (ImageView) convertView.findViewById(R.id.appicon);
                // Optimization: Tag the row with it's child views, so we don't have to
                // call findViewById() later when we reuse the row.
                convertView.setTag(new Holder(textViewName, textViewVersion, checkBoxScheduled, imageViewIcon));

                // If CheckBox is toggled, update the planet it is tagged with.
                checkBoxScheduled.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        CheckBox cb = (CheckBox) v;
                        ScheduledDownload schDownload = (ScheduledDownload) cb.getTag();
                        schDownload.setChecked(cb.isChecked());
                    }
                });
            }
            // Reuse existing row view
            else {
                // Because we use a ViewHolder, we avoid having to call findViewById().
                Holder viewHolder = (Holder) convertView.getTag();
                checkBoxScheduled = viewHolder.checkBoxScheduled;
                textViewVersion = viewHolder.textViewVersion;
                textViewName = viewHolder.textViewName;
                imageViewIcon = viewHolder.imageViewIcon;
            }

            // Tag the CheckBox with the Planet it is displaying, so that we can
            // access the planet in onClick() when the CheckBox is toggled.
            checkBoxScheduled.setTag(scheduledDownload);

            // Display planet data
            checkBoxScheduled.setChecked(scheduledDownload.isChecked());
            textViewName.setText(scheduledDownload.getName());
            textViewVersion.setText(scheduledDownload.getVername());

            ImageLoader.getInstance().displayImage(scheduledDownload.getIconPath(), imageViewIcon);

        }
    };

    getSupportLoaderManager().initLoader(0, null, this);

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View item, int arg2, long arg3) {
            ScheduledDownload scheduledDownload = (ScheduledDownload) ((Holder) item.getTag()).checkBoxScheduled
                    .getTag();
            scheduledDownload.toggleChecked();
            Holder viewHolder = (Holder) item.getTag();
            viewHolder.checkBoxScheduled.setChecked(scheduledDownload.isChecked());
        }

    });

    if (getIntent().hasExtra("downloadAll")) {
        ScheduledDownloadsDialog pd = new ScheduledDownloadsDialog();
        pd.show(getSupportFragmentManager(), "installAllScheduled");
    }

    lv.setAdapter(adapter);
}

From source file:org.tigase.mobile.muc.MucAdapter.java

public MucAdapter(Context context, int layout, Room room, OnClickListener nickameClickListener) {
    super(context, layout, null, cols, names, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    this.nickameClickListener = nickameClickListener;
    this.room = room;
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    String tmp = null;// prefs.getString(Preferences.NICKNAME_KEY, null);
}

From source file:monakhv.android.samlib.BookListFragment.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getActivity().getIntent().getExtras() == null) {
        author_id = 0;// w w w .ja  va 2  s.  co  m
    } else {
        author_id = getActivity().getIntent().getExtras().getInt(AUTHOR_ID);
    }
    order = SortOrder.DateUpdate;

    getLoaderManager().initLoader(BOOK_LIST_LOADER, null, this);
    sql = new AuthorController(getActivity());

    String[] from = { SQLController.COL_BOOK_TITLE, SQLController.COL_BOOK_SIZE,
            SQLController.COL_BOOK_DESCRIPTION, SQLController.COL_BOOK_ISNEW, SQLController.COL_BOOK_GROUP_ID,
            SQLController.COL_BOOK_AUTHOR, SQLController.COL_BOOK_FORM };
    int[] to = { R.id.bookTitle, R.id.bookUpdate, R.id.bookDesc, R.id.Bookicon, R.id.Staricon,
            R.id.bookAuthorName, R.id.bookForm };

    adapter = new SimpleCursorAdapter(getActivity(), R.layout.book_row, null, from, to,
            CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    settings = new SettingsHelper(getActivity());
    order = settings.getBookSortOrder();
    adapter.setViewBinder(new BookViewBinder());
    setListAdapter(adapter);
    //detector = new GestureDetector(getActivity(), new ListSwipeListener(this));

}

From source file:org.ado.minesync.gui.fragment.HistoryFragment.java

private void displayListView(Activity activity) {
    String[] fromColumns = new String[] { TableWorldColumns.WORLD_NAME_COLUMN, TableHistoryColumns.HISTORY_DATE,
            TableHistoryColumns.HISTORY_ACTION, TableHistoryColumns.HISTORY_SIZE };
    int[] toLayoutIDs = new int[] { R.id.textViewWorldName, R.id.textViewHistoryDate,
            R.id.imageViewHistoryAction, R.id.textViewHistorySize };
    Cursor cursor = dbHelper.getHistoryViewCursorAll(LIST_VIEW_SIZE);
    SimpleCursorAdapter cursorAdapter = new CustomSimpleCursorAdapter(activity, R.layout.list_history_entry,
            cursor, fromColumns, toLayoutIDs, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
    listViewHistory = (ListView) activity.findViewById(R.id.listViewHistory);
    listViewHistory.setFastScrollEnabled(true);
    listViewHistory.setAdapter(cursorAdapter);
}

From source file:org.pencilsofpromise.rss.RSSFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.rss_fragment, container, false);
    //          feed=getFeed(RSSFEEDOFCHOICE);

    if (InternetState) {
        DownloadFeedTask task = new DownloadFeedTask();
        task.execute(null, null, null);/*from w w  w. j  a v  a  2  s  .c  o m*/
    }

    try {

        TextView title = (TextView) v.findViewById(R.id.title);
        TextView pubdate = (TextView) v.findViewById(R.id.pub_date);
        TextView description = (TextView) v.findViewById(R.id.description);

        String[] uiBindFrom = { RSSnote.RSS_tab.COL_TITLE, RSSnote.RSS_tab.COL_DESCRIPTION,
                RSSnote.RSS_tab.COL_PUB_DATE, RSSnote.RSS_tab.COL_IMAGE };
        int[] uiBindTo = { R.id.title, R.id.description, R.id.pub_date, R.id.imageview0 };

        getLoaderManager().initLoader(RSS_LIST_LOADER, null, this);
        ListView itemlist = (ListView) v.findViewById(android.R.id.list);
        adapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.list_xml, null,
                uiBindFrom, uiBindTo, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

        adapter.setViewBinder(new ProductViewBinder());

        itemlist.setAdapter(adapter);
        itemlist.setOnItemClickListener(this);
        itemlist.setSelection(0);
    } catch (Exception e) {
        Toast.makeText(getActivity().getApplicationContext(), "No internet, first time load", Toast.LENGTH_LONG)
                .show();
    }

    return v;
}