大家好,我正在学习如何创建Android应用,今天我正在尝试制作Fragment。所以add方法有几种类型的参数输入(因为Android Studio向我展示了3种不同的参数输入),例如(Fragment,String)(Int,Fragment)和(Int,Fragment,String)。我想做的是使用第一类参数,但是AndroidStudio不知何故一直将我的代码检测为(Int,Fragment)。
我在另一个stackoverflow论坛中进行了查找,并确保使用
导入android.support.v4.app.FragmentTransaction;
这是我的代码顺便说一句:
package listview.bookapp.activities;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import listview.bookapp.R;
public class ProfileMainActivity extends FragmentActivity {
Button profileMain;
Button profileEdit;
FrameLayout frameLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile_main);
profileMain = findViewById(R.id.profile_main);
profileEdit = findViewById(R.id.profile_edit);
frameLayout = findViewById(R.id.frameForFragment);
profileMain.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
ProfileMainFragment profileMainFrag = new ProfileMainFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.frameForFragment, profileMainFrag);
ft.commit();
}
});
profileEdit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
ProfileEditFragment profileEditFrag = new ProfileEditFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.frameForFragment, profileEditFrag);
ft.commit();
}
});
}
}
想知道我错过了什么还是仅仅是AndroidStudio的一个错误(我正在使用Android Studio 3.2.1)。
干杯!