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)
{
return true;
}
else if (item.getItemId() == R.id.menu_youtube)
{
return true;
}
else if (item.getItemId() == R.id.menu_email)
{
return true;
}
else if (item.getItemId() == R.id.menu_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;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
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;
}
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>
source
share