Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android

Erin Kabbash
Erin Kabbash
5,210 Points

Updating Other GridViews code challenge step 4 of 5

Hello. I am stuck on this code challenege..

"Now we need to add an empty view for the GridView in onCreate(). First, set mEmptyTextView to the view that has the ID android.R.id.empty."

I keep getting the error "Bummer! Make sure to set mEmptyTextView! Hint: Use 'findViewById()'" but to my knowledge I am.. any one out there that can catch the error? Thanks in advanced for any help you can provide.

import android.app.Activity;
import android.os.Bundle;
import android.view.ListView;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.TextView;

public class InviteActivity extends Activity {

    /*
     * Some code has been omitted for brevity!
     */
    public MenuItem mInviteMenuItem;
    public GridView mGridView;
    public TextView mEmptyTextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.player_grid);

        mGridView = (GridView)findViewById(R.id.gridView);
        mGridView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        mGridView.setOnItemClickListener(mOnItemClickListener);

        TextView mEmptyTextView  = (TextView) findViewById(android.R.id.empty);
                mGridView.setEmptyView(mEmptyTextView );


    }

    public OnItemClickListener mOnItemClickListener = new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            // Start by adding code in here!
          if(mGridView.getCheckedItemCount() > 0){
          mInviteMenuItem.setVisibility(View.VISIBLE);
          }
          else{
          mInviteMenuItem.setVisibility(View.INVISIBLE);
          }

        }       
    };
}

1 Answer

Erin Kabbash
Erin Kabbash
5,210 Points

I figured it out actually.. I was declaring public TextView mEmptyTextView; twice. Little confusing because in the tutorials they declare inline but in the code challenge they declare at the top. Maybe to make it more.. challenging? haha. So basically if you get stuck here just change...

TextView mEmptyTextView = (TextView) findViewById(android.R.id.empty);

to

mEmptyTextView = (TextView) findViewById(android.R.id.empty);

Happy Coding!