Android 设置查看寻呼机id以显示查看寻呼机组

Android 设置查看寻呼机id以显示查看寻呼机组,android,android-viewpager,Android,Android Viewpager,当尝试设置id以编程方式查看寻呼机时,应用程序出现强制转换错误。 如果不以编程方式设置id,则只能查看第一视图寻呼机内容。 如何以编程方式创建视图寻呼机,使视图寻呼机一个接一个地显示? 我试图将视图寻呼机添加到xml的线性布局中。当我将setId用于查看寻呼机时,它就崩溃了。 它甚至不进入片段的onCreateView。那么它指的是哪个文本视图 java.lang.ClassCastException: android.widget.TextView cannot be cast to

当尝试设置id以编程方式查看寻呼机时,应用程序出现强制转换错误。 如果不以编程方式设置id,则只能查看第一视图寻呼机内容。 如何以编程方式创建视图寻呼机,使视图寻呼机一个接一个地显示? 我试图将视图寻呼机添加到xml的线性布局中。当我将setId用于查看寻呼机时,它就崩溃了。 它甚至不进入片段的onCreateView。那么它指的是哪个文本视图

    java.lang.ClassCastException: android.widget.TextView cannot be cast to android.view.ViewGroup
        at androidx.fragment.app.FragmentTransition.configureTransitionsOrdered(FragmentTransition.java:314)
        at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:138)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1862)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1820)
        at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1695)
        at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299)
        at androidx.fragment.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:256)
        at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244)
        at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092)
        at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
        at android.view.View.measure(View.java:22071)
        at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1308)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at android.widget.ScrollView.onMeasure(ScrollView.java:350)
        at android.view.View.measure(View.java:22071)
        at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
        at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at com.android.internal.policy.DecorView.onMeasure(DecorView.java:724)
        at android.view.View.measure(View.java:22071)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2422)
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1504)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1761)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
        at android.view.Choreographer.doCallbacks(Choreographer.java:723)
        at android.view.Choreographer.doFrame(Choreographer.java:658)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
主要活动

 private fun createviewpagers(listOfQuestionnaire: List<Questionnaire>) {
        for (i in 0 until listOfQuestionnaire.size) {
            var viewPager = ViewPager(context)
            viewPager.id = View.generateViewId()
            viewpagerAdapter= ProgramQuestionAnswerActivityAdapter(supportFragmentManager,listOfQuestionnaire.get(i))
            viewPager.setClipToPadding(false)
            viewPager.setPadding(70, 0, 70, 0)
            viewPager.setPageMargin(40)
           viewPager.setOffscreenPageLimit(8)
            viewgroupmain.addView(viewPager)
            viewPager.adapter= viewpagerAdapter;

        }
    }
程序问题应答器片段

public class ProgramQuestionAnswerFragment extends Fragment implements TimePickerDialogViewInterface {
    @BindView(R.id.viewgroup)
    LinearLayout mainparentviewgroup;
    @BindView(R.id.textCurrentQuestionnumber)
    TextView textCurrentQuestionnumber;
    @BindView(R.id.ivnext)
    ImageView tvnext;
    @BindView(R.id.ivback)
    ImageView tvback;

    Context context;
    QuestionnaireQuestions acttivities;
    private int pos, size;
    private String name;
    private Unbinder unbinder;
    List<QuestionnaireAnswer> selectedanswer = new ArrayList<>();
    private Integer timeclicked = 0;
    TextView txtTime;
    private SimpleDateFormat displayableTimeFormatter = new SimpleDateFormat("HH:mm", Locale.getDefault());

    public static ProgramQuestionAnswerFragment newInstance(String name, QuestionnaireQuestions activities, int position, int activitiesListsize) {
        ProgramQuestionAnswerFragment f = new ProgramQuestionAnswerFragment();
        Bundle b = new Bundle();
        b.putSerializable("activities", new Gson().toJson(activities));
        b.putInt("pos", position);
        b.putString("name", name);
        b.putInt("size", activitiesListsize);
        f.setArguments(b);
        return f;
    }

    @Override
    public void onAttach(Context _context) {
        super.onAttach(_context);
        if (_context instanceof Activity) {
            context = _context;
        }
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Log.e(" on create ", "view");
       View view = inflater.inflate(R.layout.programme_questionnaire_group, container, false);

        acttivities = new Gson().fromJson(getArguments().getString("activities"), QuestionnaireQuestions.class);
        pos = getArguments().getInt("pos");
        size = getArguments().getInt("size");
        name =  getArguments().getString("name");

        unbinder = ButterKnife.bind(this, view);
        mainparentviewgroup.setTag(0);

        return view;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        if (acttivities != null) {
            if (acttivities.getQuestionTypeId()==( SINGLE_ANSWER_QUESTION_TYPE_ID)) {
                createFreeTextQuestionAnswer(acttivities);
            } 
        }
    }


private void createFreeTextQuestionAnswer(QuestionnaireQuestions activities) {
    LayoutInflater vi = (LayoutInflater) getActivity().getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
    View itemView = vi.inflate(R.layout.programme_question_free_text_layout, mainparentviewgroup, false);

    TextView txtTitle = itemView.findViewById(R.id.tvtitle);
    TextView txtBody = itemView.findViewById(R.id.tvbody);

    txtTitle.setText(name);
    txtBody.setText(activities.getQuestion());
    mainparentviewgroup.addView(itemView);
}
公共类程序QuestionAnswerFragment扩展片段实现TimePickerDialogViewInterface{
@BindView(R.id.viewgroup)
LinearLayout MainParentView组;
@BindView(R.id.textCurrentQuestionnumber)
TextView textCurrentQuestionnumber;
@BindView(R.id.ivnext)
ImageView-tvnext;
@BindView(R.id.ivback)
图像视图tvback;
语境;
问题、要求、行动;
私人int pos,大小;
私有字符串名称;
私人无障碍者;
List selectedanswer=new ArrayList();
私有整数timeclicked=0;
TextView txtTime;
私有SimpleDataFormat displayableTimeFormatter=新SimpleDataFormat(“HH:mm”,Locale.getDefault());
公共静态程序QuestionAnswerFragment newInstance(字符串名称、QuestionNaRequestions活动、int位置、int活动列表大小){
ProgramQuestionAnswerFragment f=新的ProgramQuestionAnswerFragment();
Bundle b=新Bundle();
b、 putSerializable(“活动”,new Gson().toJson(活动));
b、 putInt(“pos”,位置);
b、 putString(“name”,name);
b、 putInt(“大小”,活动列表大小);
f、 设置参数(b);
返回f;
}
@凌驾
公共空间(上下文_上下文){
super.onAttach(_上下文);
if(_活动的上下文实例){
上下文=_上下文;
}
}
@可空
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
Log.e(“创建”、“查看”);
视图=充气机。充气(R.layout.Program\u问卷调查组,容器,错误);
activities=new Gson().fromJson(getArguments().getString(“活动”),questionnaRequestions.class);
pos=getArguments().getInt(“pos”);
size=getArguments().getInt(“size”);
name=getArguments().getString(“name”);
unbinder=ButterKnife.bind(这个,视图);
mainparentviewgroup.setTag(0);
返回视图;
}
@凌驾
已创建公用void onview(@NonNull视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
if(活动!=null){
if(activities.getQuestionTypeId()==(单个答案问题类型ID)){
CreateFreeTextQuestionResponse(活动);
} 
}
}
私有void createFreeTextQuestionAnswer(问题请求活动){
LayoutFlater vi=(LayoutFlater)getActivity().getSystemService(getActivity().LAYOUT\u充气机\u服务);
视图项视图=vi.充气(R.layout.programme\u question\u free\u text\u布局,mainparentviewgroup,false);
TextView txtTitle=itemView.findViewById(R.id.tvtitle);
TextView txtBody=itemView.findviewbyd(R.id.tvbody);
txtTitle.setText(名称);
setText(activities.getQuestion());
mainparentviewgroup.addView(itemView);
}
R.layout.Program\u调查问卷\u组

version=“1.0”encoding=“utf-8”>
节目(问题)(自由)(文字)(版面)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="vertical"
    android:id="@+id/linear"
    android:padding="10dp">

    <TextView
        android:id="@+id/tvtitle"
        style="@style/smallBoldText"
        android:text="my leep "
        android:textSize="15sp" />

    <TextView
        android:id="@+id/tvbody"
        style="@style/smallText"
        android:layout_marginTop="10dp"
        android:layout_gravity="left"
        android:gravity="left"
        android:text="my leep " />

    <EditText
        android:id="@+id/etfreeanswer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:hint="Type here..."
        android:gravity="top"
        android:background="@drawable/edittext_greysolid_border"
        android:minHeight="108dp" />

</LinearLayout>

version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/rel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <androidx.cardview.widget.CardView
        android:id="@+id/card"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        card_view:cardBackgroundColor="@color/text"
        card_view:cardCornerRadius="6dp">

        <!--YOUR CONTENT-->
        <RelativeLayout
            android:id="@+id/rv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <LinearLayout
                android:id="@+id/viewgroup"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

            </LinearLayout>


            <RelativeLayout
                android:id="@+id/relnex"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/viewgroup"
                android:layout_alignParentBottom="true"
                android:layout_gravity="bottom"
                android:layout_weight="1"
                android:background="@color/white"
                android:gravity="bottom"
                android:paddingTop="14dp">

                <TextView
                    android:id="@+id/textCurrentQuestionnumber"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_marginBottom="5dp"
                    android:gravity="center_horizontal"
                    android:textColor="@color/lightGreyText"
                    android:textSize="18sp" />

                <!--<TextView-->
                <!--android:id="@+id/tvnext"-->
                <!--android:layout_width="wrap_content"-->
                <!--android:layout_height="wrap_content"-->
                <!--android:layout_alignParentRight="true"-->
                <!--android:layout_marginTop="5dp"-->
                <!--android:layout_marginRight="22dp"-->
                <!--android:drawableRight="@drawable/right_arrow"-->
                <!--android:drawableTint="@color/black"-->
                <!--android:drawablePadding="2dp"-->
                <!--android:fontFamily="sans-serif"-->
                <!--android:letterSpacing="0.0"-->
                <!--android:text="NEXT"-->
                <!--android:textColor="#3a98e4"-->
                <!--android:textSize="13sp"-->
                <!--android:textStyle="bold"-->
                <!--android:visibility="gone" />-->

            </RelativeLayout>

            <ImageView
                android:id="@+id/ivnext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:padding="15dp"
                android:src="@drawable/right_arrow"
                android:tint="@color/black"
                android:visibility="gone" />

            <ImageView
                android:id="@+id/ivback"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:padding="15dp"
                android:src="@drawable/left_arrow"
                android:tint="@color/black"
                android:visibility="gone" />
        </RelativeLayout>
    </androidx.cardview.widget.CardView>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="vertical"
    android:id="@+id/linear"
    android:padding="10dp">

    <TextView
        android:id="@+id/tvtitle"
        style="@style/smallBoldText"
        android:text="my leep "
        android:textSize="15sp" />

    <TextView
        android:id="@+id/tvbody"
        style="@style/smallText"
        android:layout_marginTop="10dp"
        android:layout_gravity="left"
        android:gravity="left"
        android:text="my leep " />

    <EditText
        android:id="@+id/etfreeanswer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:hint="Type here..."
        android:gravity="top"
        android:background="@drawable/edittext_greysolid_border"
        android:minHeight="108dp" />

</LinearLayout>