2012-12-19 39 views
2

工作,我創建了一個全新的Android項目,並添加SherlockActionBar和SlidingMenu它。試圖讓一個全新的Android項目與SlidingMenu(jfeinstein10)和ActionbarSherlock

我認爲我已經複製了從示例文件,但它仍然無法正常工作。它顯示我的主要片段,但當我點擊圖標時,菜單根本不顯示。

我失去了什麼?

這裏是類和XML。除了這些類/ xml文件外,項目是空的。

1類(主要業務):

import android.os.Bundle; 
import com.slidingmenu.lib.SlidingMenu; 
import com.slidingmenu.lib.app.SlidingFragmentActivity; 

public class Main extends SlidingFragmentActivity { 

    protected MenuFragment mFrag; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     mFrag = new MenuFragment(); 

     setContentView(R.layout.activity_main); 

     getSupportFragmentManager() 
     .beginTransaction() 
     .replace(R.id.content_frame, new SectionOneFragment()) 
     .commit(); 

     // set the Behind View 
     setBehindContentView(R.layout.activity_menu); 

     getSupportFragmentManager() 
     .beginTransaction()   
     .replace(R.id.menu_frame, mFrag) 
     .commit(); 

     // customize the SlidingMenu 
     SlidingMenu sm = getSlidingMenu(); 
     sm.setMode(SlidingMenu.LEFT); 
     sm.setShadowWidthRes(R.dimen.shadow_width); 
     sm.setShadowDrawable(R.drawable.shadow); 
     sm.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
     sm.setFadeDegree(0.35f); 
     sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     setSlidingActionBarEnabled(false); 
    } 
} 

2級(菜單片段):

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class MenuFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     return inflater.inflate(R.layout.fragment_menu, null); 
    } 
} 

3級(SectionOne片段)

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class SectionOneFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     return inflater.inflate(R.layout.fragment_main, null); 
    } 
} 

XML 1(水庫>佈局 - > activity_main.xml中):

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/content_frame" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 

的Xml 2(水庫>佈局 - > activity_menu.xml):

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/menu_frame" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 

的Xml 3(水庫>佈局 - > fragment_main.xml):

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_centerHorizontal="true" 
android:layout_centerVertical="true" 
android:text="@string/hello_world" 
android:textColor="#ff00ff" 
tools:context=".Main" /> 

的Xml 4(RES - >佈局 - > fragment_menu.xml):

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true" 
android:layout_centerVertical="true" 
android:text="TEST" 
android:textColor="#00ff00" /> 

清單:

<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.Sherlock" > 
     <activity 
      android:name=".Main" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

Shadow.xml,dimens.xml從樣本項目中複製。

+0

你有logcat的? – Kaediil

+0

到目前爲止,只在Eclipse中嘗試過。問題是如果代碼是正確的?關於非常簡單實施的文檔非常有限。 – Patrick

+0

如果它崩潰,你會得到一個堆棧跟蹤。將該堆棧跟蹤添加到您的問題。 –

回答

1

問jfeinstein10,我發現我忘了添加onOptionsItemSelected方法。

正確的密碼來打開(解決我上面的類):

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     toggle(); 
     return true;   
    } 
    return super.onOptionsItemSelected(item); 
} 

應在以後的onCreate MainActivity類別。

相關問題