错误:类型不兼容:无法将 NewSubscription 转换为 Context

我正在尝试创建一个动态表单布局,当我构建我的项目时,我在代码的第 37 行收到以下错误“错误:不兼容的类型:无法将 NewSubscription 转换为上下文”。是因为这是一个片段而不是 java 类吗?我该如何解决这个错误?


NewSubscription.java


package com.example.activitymanagement;


import android.graphics.Color;

import android.graphics.Typeface;

import android.os.Bundle;

import android.support.annotation.Nullable;

import android.support.v4.app.Fragment;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.EditText;

import android.widget.LinearLayout;




public class NewSubscription extends Fragment {


    private LinearLayout mainLinear;

    private Button createEdittext;

    private int edittextcount =1;

    private EditText editTextbox;


    @Nullable

    @Override

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

        //returning our layout file

        //change R.layout.yourlayoutfilename for each of your fragments

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


        mainLinear = (LinearLayout) getView().findViewById(R.id.HolderLayout);

        createEdittext = (Button) getView().findViewById(R.id.CreateEdittext);

        createEdittext.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                //Starting a new Intent

                EditText editTextbox = new EditText(NewSubscription.this);

                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

                // param.setMargins(int left,int top , int right,int bottom)

                params.setMargins(20, 10, 20, 10);

                //  params.weight = 1.0f;

                params.gravity = Gravity.CENTER_HORIZONTAL;  /// this is layout gravity of textview

                editTextbox.setLayoutParams(params);

            }

        });

    }

GCT1015
浏览 101回答 2
2回答

陪伴而非守候

无法转换为 Context对于片段-->getActivity()对于活动 ---> Activity.this public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View rootView = inflater.inflate(R.layout.fragment_new_subscription, container, false);        mainLinear = (LinearLayout) rootView.findViewById(R.id.HolderLayout);        createEdittext = (Button) rootView.findViewById(R.id.CreateEdittext);         .......        return rootView;    }然后 EditText editTextbox = new EditText(getActivity());getActivity() 通常在片段中使用,以获取插入或扩充片段的活动的上下文。

拉风的咖菲猫

代替第 37 行的NewSubscription.this使用getActivity(),如下所示:EditText editTextbox = new EditText(getActivity());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java