【问题标题】:Not abstract and does not override abstract method非抽象且不覆盖抽象方法
【发布时间】:2014-11-29 17:23:53
【问题描述】:

大家好,我有这个主类主页

public class Home extends ActionBarActivity
    implements NavigationDrawerFragment.NavigationDrawerCallbacks, FriendsFragment.OnFragmentInteractionListener {

Error:(42, 8) 错误:Home 不是抽象的,不会覆盖 OnFragmentInteractionListener 中的抽象方法 onFragmentInteraction(String)

我创建了一个导航抽屉,并希望有一个新的 Fragment 以在 Home Activity 上显示另一个内容。

Android Studio 告诉我将 home.class 抽象化或实现抽象方法。

里面:

 public interface OnFragmentInteractionListener {
    // TODO: Update argument type and name
    public abstract void onFragmentInteraction(String id);
}

我这样做了,但没有任何改变。而且我不能让 home 类抽象,因为它不再启动应用程序了。

can't instantiate class com.myup2.up2.Home

编辑 1: 要调用 Fragment,我认为我正确地实现了调用。

 public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransac = fragmentManager.beginTransaction();
    Fragment newFragment = null;
    Bundle args = new Bundle();
    switch(position) {
        case 0:

            break;
        case 1:

            break;
        case 2:
            newFragment = new FriendsFragment();
            break;
    }
    if(newFragment != null) {

        fragmentManager.beginTransaction()
                .replace(R.id.container, newFragment)
                .commit();

    }
}

感谢您阅读高级版并提供帮助。

【问题讨论】:

  • “想要一个新的片段来显示另一个内容,然后在 Home Activity 上”解释这一点。你是说你想从一个片段切换到另一个片段(那个界面让我这么想)?
  • 我有我的主屏幕(Main Activity)并想通过导航抽屉进入我的设置(片段)。
  • 您在哪里遇到问题。您显示片段的代码是正确的。
  • Error:(42, 8) 错误:Home 不是抽象的并且不会覆盖 OnFragmentInteractionListener 中的抽象方法 onFragmentInteraction(String)
  • 老兄,您必须在活动中覆盖该方法。您已经实现了它,但没有覆盖该方法

标签: android android-fragments interface navigation-drawer abstract


【解决方案1】:

将此添加到您的活动中:

@Override
public void onFragmentInteraction(PUT PARAMETERS HERE IF ANY) {
//do something here, maybe switch to another fragment
}

【讨论】:

  • 太棒了 :) 告诉我一件事,如果没有这个,您在实现接口的地方看不到红色下划线吗? (延伸,实现线)
  • 我还没有实现接口。忘了那个什么的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 2014-06-20
  • 2014-01-16
相关资源
最近更新 更多