Context menu Problem - how to resolve these menu items?

I am very new to Android.

I am trying to create an inflatable context menu in the GridView sample provided on the Android dev site. Eclipse tells me that links cannot be resolved if someone can help find where I encoded s.th.th. wrong, that would be great because I'm stuck at the moment. Thank you

I have posted all my code below. I get an error: if (item.getItemId() == R.id.menu_facebook)and the other is R.id.


This is the ShareGalleryView.java file:

 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 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

        };
    }
}

and this is the menu_gallery_share.xml file:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">   
  <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_facebook"
          android:title="@string/Facebook" />
    <item android:id="@+id/menu_youtube"
          android:title="@string/YouTube" />
    <item android:id="@+id/menu_email"
          android:title="@string/Email" />
    <item android:id="@+id/menu_bluetooth"
          android:title="@string/Via Bluetooth" />
   </menu>
</menu>
+3
source share
2 answers

XML . A <menu> <item> <group> s. <menu > , , . , , Android Eclipse. . .

+2

!!

Wohooo, :) xml, :

<?xml version="1.0" encoding="utf-8"?>
  <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_facebook"
          android:title="Facebook" />
    <item android:id="@+id/menu_youtube"
          android:title="/YouTube" />
    <item android:id="@+id/menu_email"
          android:title="Email" />
    <item android:id="@+id/menu_bluetooth"
          android:title="Via Bluetooth" />
   </menu>

- unparsed aapt - :)

:)

0

Source: https://habr.com/ru/post/1754878/


All Articles