我试图创建一个动态表单布局,当我构建我的项目时,我在代码的第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);
editTextbox.setBackgroundColor(Color.parseColor("#3F51B5"));
editTextbox.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
editTextbox.setTextColor(Color.parseColor("#ffffff"));
editTextbox.setTypeface(null, Typeface.BOLD);
editTextbox.setTextSize(18);
editTextbox.setHint("Edittext "+ edittextcount);
editTextbox.setMinimumWidth(140);
edittextcount = edittextcount+1;
mainLinear.addView(editTextbox);
}
});
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//you can set the title for your toolbar here for different fragments different titles
getActivity().setTitle("Menu 1");
}
}
fragment_new_subscription.xml
<?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="match_parent"
android:orientation="vertical"
android:columnCount="2"
android:id="@+id/HolderLayout"
>
<!-- Company Label -->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Company Name"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="60dip"
android:textSize="17dip"/>
<!-- Input Company Name -->
<EditText android:id="@+id/inputName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15dip"
android:layout_marginBottom="15dip"
android:singleLine="true"/>
<!-- Description Label -->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Resources to manage"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="10dip"
android:textSize="17dip"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/CreateEdittext"
android:text="Create fields"
android:layout_margin="5dp"
android:textColor="@color/colorPrimary"/>
<!-- Button Create Company -->
<Button android:id="@+id/btnCreateProduct"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Create Company"/>
</LinearLayout>
替换newsubscription.this
在第37行中使用getActivity()
,如下所示:
EditText editTextbox = new EditText(getActivity());
无法转换为上下文
对于片段-->GetActivity()
对于activity---->活动。这
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()通常在片段中使用,以获取插入或膨胀它们的activity的上下文。
我正在尝试创建一个基本的谷歌地图android应用程序。就在我创建项目并获得API密钥之后,我就收到了这个错误。 “错误:不兼容类型:片段无法转换为SupportMapFragment” 行:SupportMapFragment mapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentByID(r.id.map
问题内容: 错误使我发疯。 在我的应用中,我在MainActivity中创建了3个导航抽屉项,和。现在,我想添加两个与的项目。 MainActivity //用于导航抽屉 TabsFragmentPagerAdapter.java ViewView.java 问题: 错误:(49,81)错误:不兼容的类型:android.app.FragmentManager无法转换为android.suppor
而当运行时,我收到的是: 错误:不兼容类型:int无法转换为客户端ClientDAO.Delete(clientId);
问题内容: 您好,我试图在一个片段中创建地图,我按照一个在线教程进行操作,该教程旨在使它处于活动状态并且我遇到问题。我到处都看过,找不到解决方案。 当我尝试在android studio中进行编译时,它在地图中给我一个错误“初始化行错误: 错误发生在: 线: 我将导入从更改为后 (由于其他应用程序错误我必须保留此导入)后发生了此问题 这是我的片段代码: 问题答案: 我从导入android.supp
我试着在这个网站上搜索类似的问题,但没有找到任何地方他们试图使用一个int数来填充的方法的使用。
我是新到Java,我需要一个程序,接受4个整数输入,4个双输入,和3个字符输入。我准备好了整数和双倍输入。我真的需要帮助得到字符输入,请帮助。 我一直得到这个错误: 不兼容类型:char无法转换为char[]charValue=input.charat(0); 这是我的代码: