亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤:類型不兼容:無法將 NewSubscription 轉換為 Context

錯誤:類型不兼容:無法將 NewSubscription 轉換為 Context

GCT1015 2023-01-05 16:47:12
我正在嘗試創建一個動態表單布局,當我構建我的項目時,我在代碼的第 37 行收到以下錯誤“錯誤:不兼容的類型:無法將 NewSubscription 轉換為上下文”。是因為這是一個片段而不是 java 類嗎?我該如何解決這個錯誤?NewSubscription.javapackage 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);            }        });    }
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

無法轉換為 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() 通常在片段中使用,以獲取插入或擴充片段的活動的上下文。


查看完整回答
反對 回復 2023-01-05
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

代替第 37 行的NewSubscription.this使用getActivity(),如下所示:

EditText editTextbox = new EditText(getActivity());


查看完整回答
反對 回復 2023-01-05
  • 2 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號