use of android.widget.CursorAdapter in project sugar by satyan.
the class CursorTests method testMakeAdapter.
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testMakeAdapter() {
save(new SimpleModel());
Cursor c = Select.from(SimpleModel.class).getCursor();
CursorAdapter adapter = new CursorAdapter(RuntimeEnvironment.application, c, true) {
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
TextView tv = new TextView(context);
String s = cursor.getString(cursor.getColumnIndex("STR"));
tv.setText(s);
return null;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
String s = cursor.getString(cursor.getColumnIndex("STR"));
((TextView) view).setText(s);
}
};
Assert.assertNotNull(adapter);
}
use of android.widget.CursorAdapter in project NetGuard by M66B.
the class AdapterRule method onViewRecycled.
@Override
public void onViewRecycled(ViewHolder holder) {
super.onViewRecycled(holder);
// Context context = holder.itemView.getContext();
// GlideApp.with(context).clear(holder.ivIcon);
CursorAdapter adapter = (CursorAdapter) holder.lvAccess.getAdapter();
if (adapter != null) {
Log.i(TAG, "Closing access cursor");
adapter.changeCursor(null);
holder.lvAccess.setAdapter(null);
}
}
use of android.widget.CursorAdapter in project android-aosp-mms by slvn.
the class SearchActivity method onCreate.
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String searchStringParameter = getIntent().getStringExtra(SearchManager.QUERY);
if (searchStringParameter == null) {
searchStringParameter = getIntent().getStringExtra("intent_extra_data_key");
}
final String searchString = searchStringParameter != null ? searchStringParameter.trim() : searchStringParameter;
// If we're being launched with a source_id then just go to that particular thread.
// Work around the fact that suggestions can only launch the search activity, not some
// arbitrary activity (such as ComposeMessageActivity).
final Uri u = getIntent().getData();
if (u != null && u.getQueryParameter("source_id") != null) {
Thread t = new Thread(new Runnable() {
public void run() {
try {
long sourceId = Long.parseLong(u.getQueryParameter("source_id"));
long whichTable = Long.parseLong(u.getQueryParameter("which_table"));
long threadId = getThreadId(sourceId, whichTable);
final Intent onClickIntent = new Intent(SearchActivity.this, ComposeMessageActivity.class);
onClickIntent.putExtra("highlight", searchString);
onClickIntent.putExtra("select_id", sourceId);
onClickIntent.putExtra("thread_id", threadId);
startActivity(onClickIntent);
finish();
return;
} catch (NumberFormatException ex) {
// ok, we do not have a thread id so continue
}
}
}, "Search thread");
t.start();
return;
}
setContentView(R.layout.search_activity);
ContentResolver cr = getContentResolver();
searchStringParameter = searchStringParameter.trim();
final ListView listView = getListView();
listView.setItemsCanFocus(true);
listView.setFocusable(true);
listView.setClickable(true);
// I considered something like "searching..." but typically it will
// flash on the screen briefly which I found to be more distracting
// than beneficial.
// This gets updated when the query completes.
setTitle("");
Contact.addListener(mContactListener);
// When the query completes cons up a new adapter and set our list adapter to that.
mQueryHandler = new AsyncQueryHandler(cr) {
protected void onQueryComplete(int token, Object cookie, Cursor c) {
if (c == null) {
setTitle(getResources().getQuantityString(R.plurals.search_results_title, 0, 0, searchString));
return;
}
final int threadIdPos = c.getColumnIndex("thread_id");
final int addressPos = c.getColumnIndex("address");
final int bodyPos = c.getColumnIndex("body");
final int rowidPos = c.getColumnIndex("_id");
int cursorCount = c.getCount();
setTitle(getResources().getQuantityString(R.plurals.search_results_title, cursorCount, cursorCount, searchString));
// Note that we're telling the CursorAdapter not to do auto-requeries. If we
// want to dynamically respond to changes in the search results,
// we'll have have to add a setOnDataSetChangedListener().
setListAdapter(new CursorAdapter(SearchActivity.this, c, false) {
/* no auto-requery */
@Override
public void bindView(View view, Context context, Cursor cursor) {
final TextView title = (TextView) (view.findViewById(R.id.title));
final TextViewSnippet snippet = (TextViewSnippet) (view.findViewById(R.id.subtitle));
String address = cursor.getString(addressPos);
Contact contact = address != null ? Contact.get(address, false) : null;
String titleString = contact != null ? contact.getNameAndNumber() : "";
title.setText(titleString);
snippet.setText(cursor.getString(bodyPos), searchString);
// if the user touches the item then launch the compose message
// activity with some extra parameters to highlight the search
// results and scroll to the latest part of the conversation
// that has a match.
final long threadId = cursor.getLong(threadIdPos);
final long rowid = cursor.getLong(rowidPos);
view.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final Intent onClickIntent = new Intent(SearchActivity.this, ComposeMessageActivity.class);
onClickIntent.putExtra("thread_id", threadId);
onClickIntent.putExtra("highlight", searchString);
onClickIntent.putExtra("select_id", rowid);
startActivity(onClickIntent);
}
});
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.search_item, parent, false);
return v;
}
});
// ListView seems to want to reject the setFocusable until such time
// as the list is not empty. Set it here and request focus. Without
// this the arrow keys (and trackball) fail to move the selection.
listView.setFocusable(true);
listView.setFocusableInTouchMode(true);
listView.requestFocus();
// Remember the query if there are actual results
if (cursorCount > 0) {
SearchRecentSuggestions recent = ((MmsApp) getApplication()).getRecentSuggestions();
if (recent != null) {
recent.saveRecentQuery(searchString, getString(R.string.search_history, cursorCount, searchString));
}
}
}
};
// don't pass a projection since the search uri ignores it
Uri uri = Telephony.MmsSms.SEARCH_URI.buildUpon().appendQueryParameter("pattern", searchString).build();
// kick off a query for the threads which match the search string
mQueryHandler.startQuery(0, null, uri, null, null, null, null);
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
use of android.widget.CursorAdapter in project assertj-android by square.
the class SearchViewAssert method hasSuggestionsAdapter.
public SearchViewAssert hasSuggestionsAdapter(CursorAdapter adapter) {
isNotNull();
CursorAdapter actualAdapter = actual.getSuggestionsAdapter();
//
assertThat(actualAdapter).overridingErrorMessage("Expected suggestions adapter <%s> but was <%s>.", adapter, //
actualAdapter).isSameAs(adapter);
return this;
}
use of android.widget.CursorAdapter in project cw-omnibus by commonsguy.
the class VideosFragment method onListItemClick.
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
CursorAdapter adapter = (CursorAdapter) getListAdapter();
Cursor c = (Cursor) adapter.getItem(position);
int uriColumn = c.getColumnIndex(MediaStore.Video.Media.DATA);
int mimeTypeColumn = c.getColumnIndex(MediaStore.Video.Media.MIME_TYPE);
getContract().onVideoSelected(c.getString(uriColumn), c.getString(mimeTypeColumn));
}
Aggregations