이 아이콘에 몇 가지 문제가 있습니다. 그게 할 수있는 일은 onLongPress
이며이 항목의 텍스트가있는 축배를 보여줍니다.내 ActionBar 아이콘을 클릭 할 수 없습니다.
내 메뉴 "new_offer_menu.xml"
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/newOffer"
android:icon="@drawable/ic_action_new"
android:title="@string/nueva_lista"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
</menu>
이 아이콘은 내 모든 조각에없는,하지만 난 그것을 클릭 (이 표시되어야한다) 올바른 조각에 갈 때 아무것도하지 않는다. 내 ListaProductosFragment.java에서 나는이 :이 항목에 길게 누르을 수행 할 때
나는이 문제가 의도이지만 어쨌든 표시하지 않는 경우 확인하기 위해 축배를 만든package info.androidhive.slidingmenu;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ListFragment;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class ListaProductosFragment extends ListFragment {
private List<ListViewItem> mItems; // ListView items list
private Menu optionsMenu;
public ListaProductosFragment(){}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
// initialize the items list
mItems = new ArrayList<ListViewItem>();
Resources resources = getResources();
mItems.add(new ListViewItem(resources.getDrawable(R.drawable.tomate_oferta), getString(R.string.aim), getString(R.string.aim_precio), getString(R.string.aim_descuento), getString(R.string.aim_data)));
mItems.add(new ListViewItem(resources.getDrawable(R.drawable.levadura_oferta), getString(R.string.youtube), getString(R.string.youtube_precio), getString(R.string.youtube_descuento), getString(R.string.youtube_data)));
mItems.add(new ListViewItem(resources.getDrawable(R.drawable.sopa_oferta), getString(R.string.bebo), getString(R.string.bebo_precio), getString(R.string.bebo_descuento), getString(R.string.aim_data)));
mItems.add(new ListViewItem(resources.getDrawable(R.drawable.zumo_oferta), getString(R.string.pew), getString(R.string.pew_precio), getString(R.string.pew_descuento), getString(R.string.aim_data)));
mItems.add(new ListViewItem(resources.getDrawable(R.drawable.tomate_oferta), getString(R.string.aim), getString(R.string.aim_precio), getString(R.string.aim_descuento), getString(R.string.aim_data)));
// initialize and set the list adapter
setListAdapter(new ListViewDemoAdapterListaProductos(getActivity(), mItems));
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// remove the dividers from the ListView of the ListFragment
getListView().setDivider(null);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// retrieve theListView item
ListViewItem item = mItems.get(position);
// do something
Toast.makeText(getActivity(), item.title, Toast.LENGTH_SHORT).show();
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.new_offer_menu,menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.newOffer:
Toast.makeText(getActivity(), "this is my Toast message!!! =)",
Toast.LENGTH_LONG).show();
Intent intent = new Intent(getActivity(), TipusNouProducte.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
, 그것은 단지 뭔가. 내가 뭘 잘못하고있어?
Fragment 어딘가에'setHasOptionsMenu (true);를 호출 했습니까? 이상하게도 나타나서 클릭 할 수 없습니다. – pablisco
예, 언급하지 않았습니다. –
아마 오해 되겠지만 왜'onOptionsItemSelected'는 항상'true'를 리턴합니까? 예제에서 http://developer.android.com/guide/topics/ui/menus.html이 메서드는 스위치 연산자 – olyv