Как назвать класс или занятие из фрагмента? - PullRequest
0 голосов
/ 23 сентября 2019

Я работаю с активностью tabbed_fragments.Теперь я хочу отобразить некоторую активность, включающую текст, кнопки, переключатели и т. Д. В данных фрагмента.Для этого я создал файл class + xml этого класса отдельно, он прекрасно работает независимо.Однако, когда я вызвал фрагмент, приложение падает.Чтобы решить эту проблему, я искал интернет, но он не работал для меня.Единственное решение, которое я использовал, вы можете найти ниже по данной ссылке:

как вызвать класс активности из фрагмента

Код моего фрагмента:


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

//import com.example.salmakhalil.toolbar_2.R;

    public class frag1 extends Fragment{

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

        Intent i = new Intent(getActivity(), verbalquestionsActivity.class);
        startActivity(i);
        View view = inflater.inflate(R.layout.fragment1_layout, container, false);
      return view

    }





}

Файл журнала

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.salmakhalil.toolbar_2, PID: 4284
                  android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.salmakhalil.toolbar_2/com.example.salmakhalil.toolbar_2.verbalquestionsActivity}; have you declared this activity in your AndroidManifest.xml?
                      at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1777)
                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1501)
                      at android.app.Activity.startActivityForResult(Activity.java:3745)
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
                      at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
                      at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:881)
                      at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:995)
                      at android.support.v4.app.Fragment.startActivity(Fragment.java:1084)
                      at android.support.v4.app.Fragment.startActivity(Fragment.java:1073)
                      at com.example.salmakhalil.toolbar_2.frag1.onCreateView(frag1.java:31)
                      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
                      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
                      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
                      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
                      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
                      at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
                      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2243)
                      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:654)
                      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:146)
                      at android.support.v4.view.ViewPager.populate(ViewPager.java:1244)
                      at android.support.v4.view.ViewPager.populate(ViewPager.java:1092)
                      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1622)
                      at android.view.View.measure(View.java:17547)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
                      at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:733)
                      at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:95)
                      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1556)
                      at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:803)
                      at android.view.View.measure(View.java:17547)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
                      at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
                      at android.view.View.measure(View.java:17547)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
                      at android.view.View.measure(View.java:17547)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
                      at android.view.View.measure(View.java:17547)
                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
                      at android.view.View.measure(View.java:17547)
                    at android.v
I/Process: Sending signal. PID: 4284 SIG: 9
Application terminated.

1 Ответ

1 голос
/ 24 сентября 2019

На самом деле я скопировал один код активности и вставил код в текущий проект, но забыл объявить это действие в файле манифеста.@Agnarmon выделил эту проблему из файла журнала.Итак, я только что объявил активность, используя следующий код: <activity android:name=".verbalquestionsActivity"></activity>

, и он отлично сработал.Большое спасибо @ Agnarmon.

Более того, я написал следующий код для вызова действия из фрагмента:


import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

//import com.example.salmakhalil.toolbar_2.R;

    public class frag1 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.fragment1_layout, container, false);
            context = rootView.getContext(); // Assign your rootView to context
          Intent intent = new Intent(context, verbalquestionsActivity.class);
        startActivity(intent);

            return rootView;
        }

} 

Это прекрасно работает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...