14

我在活动中使用片段。我正在使用 MediaRecorder 进行录音。我有一个活动的两个部分。第一个本身将列出记录文件的活动。在右侧,当一个选择新文件记录时,音频记录活动被调用。When the any of the listed file is selected i am using AudioPlayer as to play the recorded file. 我在这里能够将 Activity 转换为片段,但是当我按下 Stop 时,它正在终止应用程序。

请任何人都可以回答。当我将它用作简单的活动时,我的录音机工作正常。任何解决方案,例如我是否可以在该片段中调用该活动或类似的东西。?如果有人知道,请帮助我。

4

7 回答 7

33

使用 get activity 获取父活动,然后照常执行。

Intent myIntent = new Intent(getActivity().getapplicationcontext(), BookmarkActivity.class);
getActivity().startActivity(myIntent); 
于 2012-09-28T10:23:13.673 回答
10

这是另一种替代方法。这对我有用。

public class **YourFragmentClass** extends Fragment {

    Context context; //Declare the variable context

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {

    //Pass your layout xml to the inflater and assign it to rootView.
      View rootView = inflater.inflate(R.layout.**yourfragmentxml**, container, false); 
            context = rootView.getContext(); // Assign your rootView to context

            Button **yourButton** = (Button) rootView.findViewById(R.id.**your_button_id**);
            **yourButton**.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //Pass the context and the Activity class you need to open from the Fragment Class, to the Intent
                    Intent intent = new Intent(context, **YourActivityClass**.class); 
                    startActivity(intent);
                }
            });
            return rootView;
        }
    }
于 2014-07-07T09:58:01.400 回答
3

To call another activity from fragment use this:

Intent i = new Intent(getActivity(), Activity.class);
startActivity(i);
于 2012-09-28T10:06:16.263 回答
2

你可以简单地打电话

startActivity(new Intent(getActivity(),TheNextActivity.class));
于 2018-03-25T20:06:00.220 回答
1

在片段类中

 getActivity().startActivity(new Intent(gwtActivity(),MainActivity.class));
 getActivity().finish();
于 2017-03-11T10:39:25.650 回答
0

从 Fragment 类调用 Activity 的最佳方法是在 Fragment 中创建接口并onItemClick()在该接口中添加方法。现在将它实施到您的第一个活动并从那里调用第二个活动。

于 2017-03-11T11:23:06.697 回答
0

您的片段应该有一个父级

Intent intent = new Intent(getActivity(), SecondActivity.class);
getActivity().startActivity(intent);  
于 2016-04-25T18:17:40.050 回答