我已经阅读了很多关于同一问题的问题,但没有一个答案解决了我的问题。
这是我活动的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
tools:host="clyky.cartracker.activities.RegistrationActivity"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginStart="@dimen/container_default_left_margin"
android:layout_marginEnd="@dimen/container_default_right_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_id_card"/>
</FrameLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/txtUsername"
android:hint="Username"
android:layout_marginBottom="@dimen/edit_text_bottom_margin"
android:padding="5dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:id="@+id/txtPassword"
android:hint="Password"
android:layout_marginBottom="@dimen/edit_text_bottom_margin"
android:padding="5dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:id="@+id/txtConfirmPassword"
android:hint="Confirm password"
android:layout_marginBottom="@dimen/edit_text_bottom_margin"
android:padding="5dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:id="@+id/txtName"
android:hint="Name"
android:layout_marginBottom="@dimen/edit_text_bottom_margin"
android:padding="5dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:id="@+id/txtSurname"
android:hint="Surname"
android:layout_marginBottom="@dimen/edit_text_bottom_margin"
android:padding="5dp"/>
<Button
android:text="Registrati"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnSignUp"
android:layout_margin="15dp"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/registrationContainer">
</FrameLayout>
</LinearLayout>
我的片段已添加到最后FrameLayout
registrationContainer
:
LoadingRegistrationFragment f = LoadingRegistrationFragment.newInstance(args);
Utilities.addFragment(R.id.registrationContainer, f, null, getSupportFragmentManager());
这是我的addFragment
方法:
public static void addFragment(int containerID, Fragment toAdd, @Nullable String tag, FragmentManager manager)
{
FragmentTransaction trans = manager.beginTransaction();
trans.add(containerID, toAdd, tag);
trans.commit();
}
这是我LoadingRegistrationFragment
的{{1}}:
onCreateView
我的片段工作正常,它只是看不见,我无法弄清楚原因。
我已经使用调试器检查了@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
Bundle args = getArguments();
username = args.get("username").toString();
encryptedPassword = args.get("password").toString();
name = args.get("name").toString();
surname = args.get("surname").toString();
listener = (RegistrationListener) getActivity();
View v = inflater.inflate(com.devspark.progressfragment.R.layout.fragment_progress, container, false);
sendRequest();
return v;
}
中的v
是onCreateView
但是没有,它有一个值。
我还尝试将我的活动布局包装在null
中以查看该片段是否显示在下方,但它仍然不可见。
答案 0 :(得分:0)
尝试使用trans.replace(containerID, toAdd)
代替trans.add(containerID, toAdd, tag)
并将属性更改为您的片段
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/registrationContainer">
答案 1 :(得分:0)
在您的MainActivity容器中,而不是这个:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/registrationContainer">
</FrameLayout>
替换为:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/registrationContainer"/>