我正在处理碎片并遇到两件事情Activity,FragmentActivity并且已经使用了好几次.我想知道这两者之间有什么区别,因为当我改变Activity时FragmentActivity,它对应用程序没有任何影响.
android android-fragments android-fragmentactivity android-support-library
我正在使用Fragments for tablet创建一个应用程序.到目前为止,我已经在左侧创建了一些按钮,并且在单击按钮时会显示片段.
但我在MainActivity.java文件中遇到错误"类型不匹配错误:无法转换android.app.FragmentManager为android.support.v4.app.FragmentManager"这是我无法实现它的主要原因.我已经导入了android.support.v4.app.FragmentManager.
我该如何解决我的问题?
我的MainActivity.java代码
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Fragment fragment;
Button btn1,btn2,btn3,btn4,btn5,btn6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
btn3=(Button)findViewById(R.id.btn3);
btn4=(Button)findViewById(R.id.btn4);
btn5=(Button)findViewById(R.id.btn5);
btn6=(Button)findViewById(R.id.btn6);
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
StartFragment myfragment=new StartFragment();
ft.add(R.id.myfragment,myfragment);
ft.commit();
btn4.setOnClickListener(btnOnClickListener);
btn5.setOnClickListener(btnOnClickListener);
btn6.setOnClickListener(btnOnClickListener);
}
Button.OnClickListener btnOnClickListener=new Button.OnClickListener(){
@Override
public void onClick(View v)
{
Fragment newfragment;
if(v==btn1)
{
newfragment=new Fragment1();
}
else …Run Code Online (Sandbox Code Playgroud) 因为我一直在使用我的代码,所以我使用了片段.
为此,我有一个活动使用片段标签调用片段:
FluxListFragment FLF = (FluxListFragment) getFragmentManager().findFragmentByTag(FRAG_LIST);
Run Code Online (Sandbox Code Playgroud)
但从今天开始,getFragmentManager似乎无法识别.它说 :
"The method getFragmentManager() is undefined for the type FluxMainActivity"
Run Code Online (Sandbox Code Playgroud)
问题来自构建目标吗?(我把Android 3.0)
这是代码:
public Class FluxMainActivity extends Activity {
@override
public void onCreate(Bundle saveInstanceState)
{
super.onCreate();
setContentView(R.layout.main);
FluxListeFragment FLF = (FluxListeFragment)getFragmentManager().findFragmentByTag(FRAG_LISTE);
}
}
Run Code Online (Sandbox Code Playgroud)
该方法应该链接到FluxListeFragment而不是FluxMainActivity!我认为演员是不正确的.