我正在尝试创建两个片段并将其插入片段容器中,同时使用两个按钮控制它们。没有错误,只是它不起作用.....
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
activity_main.xml
<Button android:id="@+id/signinButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="32dp" android:onClick="ChangeFragment" android:text="@string/sign_in" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.684" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/minikanikoTextView" /> <Button android:id="@+id/signUpButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24dp" android:layout_marginBottom="27dp" android:onClick="ChangeFragment" android:text="@string/sign_up" app:layout_constraintBottom_toTopOf="@+id/fragment_container" app:layout_constraintEnd_toEndOf="@+id/signinButton" app:layout_constraintHorizontal_bias="0.479" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/minikanikoTextView" app:layout_constraintVertical_bias="0.195" /> <FrameLayout android:id="@+id/fragment_container" android:layout_width="414dp" android:layout_height="516dp" android:layout_marginTop="25dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.666" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/signinButton" app:layout_constraintVertical_bias="1.0"> </FrameLayout> </androidx.constraintlayout.widget.ConstraintLayout>
主要是我认为问题出在MainActivity中
MainActivity.java
package com.example.testonli;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void ChangeFragment(View view){
Fragment fragment;
if(view == findViewById(R.id.signinButton)){
fragment = new SigninFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_container, fragment);
ft.commit();
}
if(view == findViewById(R.id.signUpButton)){
fragment = new SignupFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_container, fragment);
ft.commit();
}
}
}
我正在尝试创建两个片段并将其插入片段容器中,同时使用两个按钮控制它们。没有错误,只是它不起作用..... ...
不要将视图作为对象进行比较。