Skip to content

Instantly share code, notes, and snippets.

@keyboardr
keyboardr / gist:3977796
Created October 30, 2012 01:32
Updating a view within a ViewPager
//This is in the inistantiateItem() method of my PagerAdapter.
//View view is my inflated layout, and SharedPreferences prefs contains my backing data.
final SeekBar seekBar = (SeekBar) view.findViewById(R.id.transparency_seekbar);
seekBar.setMax(80);
seekBar.setProgress(prefs.getInt(seekBar.getContext().getString(R.string.pref_transparency),
0));
seekBar.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {
private IntentFilter mTransparencyFilter = new IntentFilter(
@keyboardr
keyboardr / ContentListFragment.java
Last active January 6, 2018 23:37
Demonstrate how to use the empty view to show progress indication and handle empty state. Note: if using a normal Fragment, you should call ListView.setEmptyView() to assign the empty view to the ListView.
public class ContentListFragment extends ListFragment implements LoaderCallbacks<List<Content>>{
@Override
public void onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.layout, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState){
super.onViewCreated(view, savedInstanceState);
getLoaderManager().initLoader(0, null, this);
@keyboardr
keyboardr / FragmentUtils.java
Last active March 8, 2019 05:30
Utility method for getting the appropriate parent of a Fragment for a given callback interface.
import android.support.v4.app.Fragment;
public class FragmentUtils {
/**
* @param fragment
* The Fragment whose parent is to be found
* @param parentClass
* The interface that the parent should implement
* @return The parent of fragment that implements parentClass,
@keyboardr
keyboardr / NavActivity.java
Created May 12, 2013 09:44
Automatically handle HomeAsUp functionality
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.support.v4.app.TaskStackBuilder;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
public abstract class NavActivity extends SherlockFragmentActivity {
@keyboardr
keyboardr / CachedLoader.java
Created May 12, 2013 10:01
A handy AsyncTaskLoader that contains common caching functionality.
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
public abstract class CachedLoader<D> extends AsyncTaskLoader<D> {
private D mResult;
public CachedLoader(Context context) {
super(context);
}
@keyboardr
keyboardr / ParcelableUtils.java
Last active August 13, 2020 13:38
Utility class for dealing with Parcelables. Handles null checks for objects, and parcels some common non-Parcelable classes
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Parcel;
import android.os.Parcelable;
@keyboardr
keyboardr / gist:5615431
Created May 20, 2013 20:49
IntentFilter for backdoor. Accessed by entering *#*#code#*#* into the dialer
<!-- Replace 111222 with your secret code -->
<receiver android:name=".receiver.DiagnoserReceiver">
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE"/>
        <data android:scheme="android_secret_code" android:host="111222"/>
    </intent-filter>
</receiver>
@keyboardr
keyboardr / StylableString.java
Last active December 18, 2015 16:19
Quick utils for simple Spannable styling
public class StylableString extends SpannableString {
public StylableString(CharSequence source) {
super(source);
}
public StylableString setForegroundColor(int color) {
ForegroundColorSpan colorSpan = new ForegroundColorSpan(color);
setSpan(colorSpan, 0, length(), 0);
return this;
@keyboardr
keyboardr / gist:6033986
Last active December 19, 2015 23:19
Concat strings with a delimeter
public class Util {
public static String buildConcatString(String delimeter, String... strings) {
StringBuilder builder = new StringBuilder();
boolean isFirst = true;
for (String string : strings) {
if (TextUtils.isEmpty(string)) {
continue;
}
if (!isFirst) {
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.net.Uri;
import android.util.Log;
import com.squareup.picasso.Picasso;