Reputation: 549
@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) {
new Thread(new Runnable() {
@Override
public void run() {
AdminSoapService adminSoapService = new AdminSoapService();
final List<String> packageNamesList = adminSoapService.getPackagesFromSumarClientByClientCnp("1840805160041");
String[] packageNames = packageNamesList.toArray(new String[packageNamesList.size()]);
packagesViews = SQLMceHelper.getDb(getActivity()).getPackagesByPackageNames(packageNames);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < packagesViews.size(); i++) {
String name = packagesViews.get(i).getName();
String path = packagesViews.get(i).getTileRenderPath();
int id = packagesViews.get(i).getId();
MenuItem edit_item = menu.add(Menu.NONE, id , i, name);
edit_item.setIcon(Drawable.createFromPath(path));
edit_item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
edit_item.setOnMenuItemClickListener(SCFragment.this);
}
}
});
}
}).start();
super.onCreateOptionsMenu(menu, inflater);
}
The problems with the above code are the following: 1: if is room only the image is displayed 2: if is not room only the text is displayed into a secondary menu
I need to display both image and text if is room and if is not and also I want that the text to be below the image.
Upvotes: 0
Views: 1331
Reputation: 549
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
// for (int i = 0; i < 3; i++) {
// MenuItem add = menu.add(0, i, i, "Menu" + i);
// add.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
// add.setActionView(R.layout.action_button_menu_item);
// ((TextView)add.getActionView().findViewById(R.id.textViewFromMenuItem)).setText("Menu " + i);
// ((ImageView)add.getActionView().findViewById(R.id.imageViewFromMenuItem)).setBackground(Drawable.createFromPath(pathName));;
// }
new Thread(new Runnable() {
@Override
public void run() {
AdminSoapService adminSoapService = new AdminSoapService();
final List<String> packageNamesList = adminSoapService.getPackagesFromSumarClientByClientCnp("1840805160041");
String[] packageNames = packageNamesList.toArray(new String[packageNamesList.size()]);
packagesViews = SQLMceHelper.getDb(getActivity()).getPackagesByPackageNames(packageNames);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < packagesViews.size(); i++) {
String name = packagesViews.get(i).getName();
System.out.println("name " + name);
String path = packagesViews.get(i).getTileRenderPath();
int id = packagesViews.get(i).getId();
MenuItem add = menu.add(0, id, i, name);
add.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
add.setActionView(R.layout.action_button_menu_item);
((TextView)add.getActionView().findViewById(R.id.textViewFromMenuItem)).setText(name);
((ImageView)add.getActionView().findViewById(R.id.imageViewFromMenuItem)).setBackground(Drawable.createFromPath(path));
}
}
});
}
}).start();
super.onCreateOptionsMenu(menu, inflater);
}
Upvotes: 1