4

我正在尝试在 Eclipse 中设置 JFeinstein10 的滑动菜单

我试过的:

  1. file > import > from existing android.. > select the library of sliding menu
  2. file > import > from ex.. > select the example of sliding me
  3. file > import > from ex.. > select actionbarsherlock library
  4. mark slidingmenu lib and actionbarlib as library
  5. add the library's to example of sldingmenu
  6. cleanup all

然后我收到各种错误(例如:jar 不匹配,.. 无法解析为类型,方法 .. 的类型 .. 必须覆盖超类方法)我用谷歌搜索它们并使用清理和快速修复选项。但我不工作。

我希望你们中的一个人知道一个好的教程,或者也许能够写一个或知道该做什么。

我是 android 开发的新手,我以前的所有应用程序都是在webview.

我也尝试过https://github.com/johnkil/SideNavigation(也没有用,如果有人知道如何设置这个,太好了!)和 grimbo 滑动菜单(它有效,但它不是我寻找)

错误仅在库中slidingmapactivity(如下所示),并且在actibarsherlock库中有许多有错误的文件(几乎在 src 文件夹中的任何文件中)

code in lib: slidingmapactivity:
package com.slidingmenu.lib.app;

import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;

import com.slidingmenu.lib.SlidingMenu;

public abstract class SlidingMapActivity extends MapActivity implements         SlidingActivityBase {

private SlidingActivityHelper mHelper;

/* (non-Javadoc)
 * @see com.google.android.maps.MapActivity#onCreate(android.os.Bundle)
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mHelper = new SlidingActivityHelper(this);
    mHelper.onCreate(savedInstanceState);
}

/* (non-Javadoc)
 * @see android.app.Activity#onPostCreate(android.os.Bundle)
 */
@Override
public void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    mHelper.onPostCreate(savedInstanceState);
}

/* (non-Javadoc)
 * @see android.app.Activity#findViewById(int)
 */
@Override
public View findViewById(int id) {
    View v = super.findViewById(id);
    if (v != null)
        return v;
    return mHelper.findViewById(id);
}

/* (non-Javadoc)
 * @see android.app.Activity#onSaveInstanceState(android.os.Bundle)
 */
@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    mHelper.onSaveInstanceState(outState);
}

/* (non-Javadoc)
 * @see android.app.Activity#setContentView(int)
 */
@Override
public void setContentView(int id) {
    setContentView(getLayoutInflater().inflate(id, null));
}

/* (non-Javadoc)
 * @see android.app.Activity#setContentView(android.view.View)
 */
@Override
public void setContentView(View v) {
    setContentView(v, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}

/* (non-Javadoc)
 * @see android.app.Activity#setContentView(android.view.View, android.view.ViewGroup.LayoutParams)
 */
@Override
public void setContentView(View v, LayoutParams params) {
    super.setContentView(v, params);
    mHelper.registerAboveContentView(v, params);
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(int)
 */
@Override
public void setBehindContentView(int id) {
    setBehindContentView(getLayoutInflater().inflate(id, null));
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(android.view.View)
 */
@Override
public void setBehindContentView(View v) {
    setBehindContentView(v, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(android.view.View, android.view.ViewGroup.LayoutParams)
 */
@Override
public void setBehindContentView(View v, LayoutParams params) {
    mHelper.setBehindContentView(v, params);
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#getSlidingMenu()
 */
@Override
public SlidingMenu getSlidingMenu() {
    return mHelper.getSlidingMenu();
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#toggle()
 */
@Override
public void toggle() {
    mHelper.toggle();
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#showAbove()
 */
@Override
public void showContent() {
    mHelper.showContent();
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#showBehind()
 */
@Override
public void showMenu() {
    mHelper.showMenu();
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#showSecondaryMenu()
 */
@Override
public void showSecondaryMenu() {
    mHelper.showSecondaryMenu();
}

/* (non-Javadoc)
 * @see com.slidingmenu.lib.app.SlidingActivityBase#setSlidingActionBarEnabled(boolean)
 */
@Override
public void setSlidingActionBarEnabled(boolean b) {
    mHelper.setSlidingActionBarEnabled(b);
}

/* (non-Javadoc)
 * @see android.app.Activity#onKeyUp(int, android.view.KeyEvent)
 */
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    boolean b = mHelper.onKeyUp(keyCode, event);
    if (b) return b;
    return super.onKeyUp(keyCode, event);
}

}

4

2 回答 2

4

好吧,让我们一次一个地处理这些问题......

  • JAR Mismatch - 我认为这是支持库。将 SlidingMenu 文件夹中的 JAR 替换为libs您自己文件夹中的副本libs

  • Cannot be resolved to a type表明您尚未单击项目属性并将 SlidingMenu 添加到库框中。如果做不到这一点,Cmd-Shift-O请在您的活动文件中按以修复您的导入。@Override我相信这也将解决您的问题。

让我知道您的进展情况,我会根据需要提供进一步的帮助。

于 2012-12-21T14:02:05.203 回答
0

您需要在 SLIDINGMENULIBRARY 的 libs 目录以及 PROJECT 的 libs 文件夹中都有相同的 android-support-v4 JAR。

事实上,转到您的 SDK 文件夹,转到 sdk\extras\android\support\v4\android-support-v4.jar 复制此 jar 并将其粘贴到两个目录中。

于 2014-08-01T13:13:37.300 回答