2014-09-10 55 views
-1

我面臨着一個問題...我在操作欄上創建了一個項目..當我單擊該項目時我的項目單擊按鈕不響應..For打印我創建了Toast ..To檢查Resopnse 但是麪包不顯示操作欄項目沒有響應點擊android

這裏是更新的片段類..

public class Welcome extends SherlockFragment { 
    private ProgressDialog pDialog; 
    Button editprofile; 
    JSONParser jsonParser = new JSONParser(); 
    ImageView i; 
    Editor editor; 
    SharedPreferences sharedPreferences; 
    ImageView frm; 
    ImageLoader imageloader; 
    String image_url; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) 
    { 

     View rootView = inflater.inflate(R.layout.welcome, container, false); 
     final UserModel user = (UserModel) getActivity().getIntent().getSerializableExtra("User"); 
     frm=(ImageView)rootView.findViewById(R.id.image_frm); 
     // Button editprofile = (Button)rootView.findViewById(R.id.btn_edit); 
     //ImageView image = (ImageView)rootView. findViewById(R.id.imageView1); 
     TextView userfullname = (TextView)rootView. findViewById(R.id.userfullname); 
     TextView tv_tomeet = (TextView)rootView. findViewById(R.id.tomeet); 

     TextView tv_intrseted = (TextView) rootView.findViewById(R.id.intsdin); 


     int loader = R.drawable.loader; 

     String UserfullName = user.getUser_Full_Name(); 
     String Tomeet=user.getTo_Meet(); 
     String Age = user.getUser_Age(); 
     String Gender = user.getGender(); 
     String IntrestedIn = user.getIntrest_In(); 
     Bundle bundle = this.getArguments(); 
     String image_url=user.getUser_Image(); 
     userfullname.setText(UserfullName); 
     tv_tomeet.setText(Tomeet); 
     //image loader 
     setHasOptionsMenu(true); 
    //imageloader=new ImageLoader(); 

     //tv_gender.setText(Gender); 
    ImageView  iv = (ImageView)rootView.findViewById(R.id.imageView1); 
    Picasso.with(getActivity()) 
    .load(image_url).transform(new RoundedImageView()).into(iv); 


    frm.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      String image_url=user.getUser_Image(); 
      Bundle bundle = new Bundle(); 
      bundle.putString("UserImage", image_url); 
     } 
    }); 

     // ImageLoader class instance 
     //ImageLoader imgLoader = new ImageLoader(getActivity()); 



    // whenever you want to load an image from url 
    // call DisplayImage function 
    // url - image url to load 
    // loader - loader image, will be displayed before getting image 
    // image - ImageView 
     /* imgLoader.DisplayImage(image_url, Welcome.this, image);*/ 
     return rootView; 

    } 



    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setHasOptionsMenu(true); 

    } 

    @Override 
    public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu,MenuInflater inflater) 
    { 
     inflater.inflate(R.menu.action_bar_menu, menu); 
     //super.onCreateOptionsMenu(menu, inflater); 
    } 
@Override 
    public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.action_search: 
       logout(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 
    ///Logout User And Clear Sharedpref 
    public void logout(){ 
     Toast.makeText(getActivity(), "hi Logout", Toast.LENGTH_LONG).show(); 
     sharedPreferences = getActivity().getSharedPreferences(MainActivity.MyLOGINDATA 
       ,0); 
        editor = sharedPreferences.edit(); 
        editor.clear(); 
        editor.commit(); 
     Intent l=new Intent(getActivity(),MainActivity.class); 
     startActivity(l); 
     getActivity().finish(); 

    } 



} 

這裏是菜單項

<item 
      android:id="@+id/action_search" 
      android:icon="@drawable/setting_iconn" 
      android:title="Setting" 
      android:showAsAction="always" 
/> 

我真的不明白我m什麼做錯了? 請幫我

編輯

我在片段類

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setHasOptionsMenu(true); 
    } 

的onclick創建 不工作史迪威

+0

爲什麼onOptionsItemSelected沒有被覆蓋?另外,如果你正在做一個片段,確保你調用'setHasOptionsMenu(true);'onActivityCreated(); – 2014-09-10 11:34:45

+0

參考http://stackoverflow.com/questions/15035861/fragment-onoptionsitemselected-not-being-called – 2014-09-10 11:44:45

+0

@PedroOliveira我更新了我的問題...檢查它 – 2014-09-10 12:10:20

回答

2

編輯:得知您在Fragment

工作後將以下內容添加到您的您Fragment

setHasOptionsMenu(true); 
+0

我的Methode是在片段類 – 2014-09-10 11:35:49

+0

@你的'onOptionsItemSelected(MenuItem項目)'是在片段? – 2014-09-10 11:38:24

+0

調用'setHasOptionsMenu(true);'從您的片段的onCreate方法 – Metehan 2014-09-10 11:39:25

1
@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    getMenuInflater().inflate(R.menu.action_bar_menu, menu); 
    return true; 
} 

你忘了覆蓋的方法,這就是原因。

編輯

對於菜單,應該做這件事是你的FragmentActivity,而不是在一個片段。

但是,看到該鏈接,如果你想添加,它在你的片段: Android Options Menu in Fragment(馬可HC回覆)

+0

在片段類? – 2014-09-10 11:43:28

+0

你真的需要fragmentActivity中的另一個工具嗎?檢查我的編輯 – Sidd 2014-09-10 11:49:11

+0

我有SherlockFragment活動....我創建了幻燈片菜單...與Shelock Librry HElp 上面提到的是片段類滑動菜單中使用 – 2014-09-10 12:03:07

0

通過SIDD的答案是正確的。您需要重寫onCreateOptionsMenu(Menu,Inflater)和onOptionsItemSelected(MenuItem)。如果您想在片段或活動中添加重寫方法,請使用這些快捷方式來查找可用的重寫方法。

對於Eclipse IDE - 鍵Alt + Shift + S 對於Android的工作室 - Alt +插入

也給setHasOptionsMenu(真)後的setContentView()

0

將這段代碼

@Override 
    public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu,MenuInflater inflater) 
    { 
     inflater.inflate(R.menu.action_bar_menu, menu); 
     //super.onCreateOptionsMenu(menu, inflater); 
    } 

with 

    @Override 
public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu,MenuInflater inflater) 
{ 

     menu.add(0, R.drawable.setting_iconn, R.id.action_search, "Setting").setIcon(R.drawable.setting_iconn).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 

    //super.onCreateOptionsMenu(menu, inflater); 
} 

這作品...