Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我想在一个类中扩展片段和活动,以便在不更改总体代码的情况下为活动使用导航抽屉_Java_Android_Android Fragments_Android Activity - Fatal编程技术网

Java 我想在一个类中扩展片段和活动,以便在不更改总体代码的情况下为活动使用导航抽屉

Java 我想在一个类中扩展片段和活动,以便在不更改总体代码的情况下为活动使用导航抽屉,java,android,android-fragments,android-activity,Java,Android,Android Fragments,Android Activity,这是我的三个片段活动之一。我只想使用Activity类中的函数(即使用setContentView()、startActivity()等)。请不要担心我出于某些原因删除的项目的包名。提前谢谢 import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGr

这是我的三个片段活动之一。我只想使用Activity类中的函数(即使用setContentView()、startActivity()等)。请不要担心我出于某些原因删除的项目的包名。提前谢谢

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




public class MessagesFragment extends Fragment {


    public MessagesFragment() {
        // Required empty public constructor
    }

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

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment


        return inflater.inflate(R.layout.fragment_messages, container, false);
    }

}
这是在单击MessagesFragment中的按钮后应调用的活动

import android.app.Activity;
import android.os.Bundle;
public class AddNewBiller extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_addnewbiller);
    }
} 
如果以上内容不清楚,那么下面的屏幕截图可能会有所帮助


(1) 是消息片段布局。在这种情况下,当用户单击“添加新账单”按钮时,他们应该被重定向到(2)AddNewBiller活动布局,该布局不是片段。

如果要在片段中使用活动函数,只需使用
getActivity()
例如
getActivity()。startActivity(yourIntent)

我试图根据我所理解的内容来回答。看看这是否对你有帮助

  • 创建ActionbarActivity
  • 为此活动创建布局,并在其中使用android.support.v4.widget.DrawerLayout和框架布局
  • 初始化抽屉布局并
  • 然后,您可以创建一个片段,创建其布局,并使用片段管理器的add方法将片段附加到前面创建的framelayout中

  • 为什么需要同时扩展片段和活动?这在Java中是不可能的,它表明您想做一些非常错误的事情!Hi@npace我只想点击这个片段中的一个按钮,它会将我重定向到另一个活动。我知道这对这里的大多数人来说都很简单,但我被困在这件事里了。请帮助截图-1截图-2感谢您的回复!我应该在哪里使用getActivity()?在onCreate()或onCreateView()中@rwojcikIt取决于如何附加片段(如果它是一个viewpager或其他东西)。如果您只是将片段附加到某个活动,则应在其中任何一个活动中使用
    getActivity()
    。片段生命周期中的每个方法都应该是albe,以获得一个活动实例。这是我的片段活动,它有一个名为“AddNewBiller”的按钮。当用户单击该按钮时,应重定向到“AddNewiller”活动。我无法执行此操作,因为我的片段活动扩展了片段,所以在使用此代码startActivity(new Intent(LoginActivity.this,Dashboard.class))时出错;当扩展活动而不是零碎的时候,它可以很好地工作。当然它不会工作:)更改
    startActivity(新的意图(LoginActivity.this,Dashboard.class))
    startActivity(新意图(getActivity(),Dashboard.class))谢谢!startActivity()工作正常,但findViewById()方法表示,在extdending Fragment类而不是Activity时无法解析。这是我必须解决的最后一件事。这是我的片段活动,它有一个名为“AddNewBiller”的按钮。当用户单击该按钮时,应重定向到“AddNewiller”活动。我无法执行此操作,因为我的片段活动扩展了片段,所以在使用此代码startActivity(new Intent(LoginActivity.this,Dashboard.class))时出错;当扩展活动而不是碎片时,哪一项工作很好?为什么不使用actionbaractivity??它也可以解决导航抽屉的问题我是否需要在fragmet中使用actionbaractivity?如果我在oncreateview中执行了我的方法,就会抛出一些错误,提到它不能从超类中排除。谢谢