Note that there are some explanatory texts on larger screens.

plurals
  1. POContext Menu Problem - how to resolve these menu items?
    primarykey
    data
    text
    <p>I am very new to Android. </p> <p>I am trying to build inflate a context menu within the sample GridView provided on the Android dev site. Eclipse tells me that the referenced items cannot be resolved, if someone could help find where I coded s.th. wrong, that would be great because I am stuck at the moment. Thanks. </p> <p>I posted my entire code below. I get the error message at: <code>if (item.getItemId() == R.id.menu_facebook)</code> and the other R.id.'s </p> <hr> <p>This is the ShareGalleryView.java file: </p> <pre><code> import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.ContextMenu.ContextMenuInfo; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.AdapterView.AdapterContextMenuInfo; public class ShareGalleryView extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.videogrid); GridView vGrid=(GridView) findViewById(R.id.vgrid); registerForContextMenu(vGrid); vGrid.setAdapter(new VideoAdapter(this)); } public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_gallery_share, menu); } public boolean onContextItemSelected (MenuItem item){ AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); if (item.getItemId() == R.id.menu_facebook) { //TODO open fb return true; } else if (item.getItemId() == R.id.menu_youtube) { //TODO open youtube return true; } else if (item.getItemId() == R.id.menu_email) { //TODO open email return true; } else if (item.getItemId() == R.id.menu_bluetooth) { // TODO send via bluetooth return true; } } public class VideoAdapter extends BaseAdapter { private Context mContext; public VideoAdapter(Context c) { mContext = c; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } // create a new ImageView for each item referenced by the Adapter public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { // if it's not recycled, initialize some attributes imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(8, 8, 8, 8); } else { imageView = (ImageView) convertView; } imageView.setImageResource(mThumbIds[position]); return imageView; } // references to our images private Integer[] mThumbIds = { R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_2, R.drawable.sample_6, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_1 }; } } </code></pre> <p>and this is the menu_gallery_share.xml file: </p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;menu xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;menu xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;item android:id="@+id/menu_facebook" android:title="@string/Facebook" /&gt; &lt;item android:id="@+id/menu_youtube" android:title="@string/YouTube" /&gt; &lt;item android:id="@+id/menu_email" android:title="@string/Email" /&gt; &lt;item android:id="@+id/menu_bluetooth" android:title="@string/Via Bluetooth" /&gt; &lt;/menu&gt; &lt;/menu&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload