This is a collection of notes about what I learned today, February 23, 2015. Most of it is about Android.
I need to refresh my cursor data set before calling notifyDataSetChanged
When (a) adding, editing, or deleting items in a ListView
and (b) using a CursorAdapter
, I need to update my cursor object before calling notifyDataSetChanged
.
I created this method, which I call from my fragment’s onResume
method:
private void refreshQuoteCursorDataSet() { quoteCursor.requery(); ((QuoteCursorAdapter)getListAdapter()).notifyDataSetChanged(); }
I can refresh the data set in either onResume or onActivityResult
After an add, edit, or delete operation on a ListView
I currently call onResume
to refresh my data set and view, but I can optionally call onActivityResult
instead. Here’s the source code for my current onResume
method:
@Override public void onResume() { super.onResume(); refreshQuoteCursorDataSet(); }
GridView scrolls automatically
There’s no need to wrap a GridView
with a scrolling container, it scrolls automatically.
Craziness: I had to add an id before using it in a layout
In the craziest thing of the day, I had to add an id
in a layout before I could use it. This is shown in the following XML code, where I add the id for putQuoteHere
before I actually define that element (a TextView
):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.alvinalexander.myapp.LandingPageActivity.ShowFullQuoteFragment" > <!-- i place the background image on this imageview. it does the fitting/cropping work. --> <!-- craziness: i need to create the id before using it in the TextView --> <ImageView android:id="@+id/landingPageBGImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="centerCrop" android:layout_alignBottom="@+id/putQuoteHere" /> <TextView android:id="@id/putQuoteHere" android:text="@string/theFullText" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:padding="48dp" android:background="#ecffffff" /> </RelativeLayout>
Until then I was getting a “No resource found that matches the given name” error message regarding that id
. I found the solution at this SO url.
Github has private repositories for as low as $7/month
In related news, I started paying Github $7/month so I can have private repositories. For that price for a personal account they let you have five private repos.