【问题标题】:How to set up Jfeinstein10 sliding menu on android/eclipse如何在android/eclipse上设置Jfeinstein10滑动菜单
【发布时间】:2012-12-09 02:43:57
【问题描述】:

我正在尝试在 Eclipse 中设置 JFeinstein10 的 sliding menu

我尝试过的:

  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);
}

}

【问题讨论】:

标签: android eclipse menu compiler-errors sliding


【解决方案1】:

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

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

  • Cannot be resolved to a type 建议您尚未单击项目属性并将 SlidingMenu 添加到库框中。否则,请在您的活动文件中按Cmd-Shift-O 来修复您的导入。我相信这也将解决您的@Override 问题。

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

【讨论】:

  • 谢谢,Jar 不匹配现在消失了,我只有错误:无法从活动转换为 sherlockfragment 活动(新),但我仍然无法解析为类型,无法解析
  • 我正在尝试让 jfsteinslidingmenu 上给出的示例正常工作,并且示例本身没有错误(只有一个红色问号),只有图书馆才有。
  • 我已经让 Johnkil Sidenavigation 工作了!感谢您的帮助!
【解决方案2】:

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

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

【讨论】:

  • 感谢您的回答!但正如你所见,我已经解决了。此外,不需要两次使用相同的 JAR。您还可以在一个项目中包含一个 jar。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多