我在Main Activity中有以下代码,我有一个FragmentLayout类负责调用片段。 代码
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends FragmentActivity
{
Button btn;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
FragmentLayout f1=new FragmentLayout();
getSupportFragmentManager().beginTransaction().add(R.id.main_id, f1).commit();
}
});
}
}
我收到此错误 -
FragmentTransaction类型中的方法add(int,Fragment)不适用于参数(int,FragmentLayout)MainActivity.java。
这是什么问题?
答案 0 :(得分:1)
您只能将事务管理器用于片段。 我举个简单的例子: 为它创建一些片段和铺设:
public class FragmentOne extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
//Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_one, container, false);
}
}
在你的public void onClick(View v)
只需致电:
FragmentOne f1=new FragmentOne();
getSupportFragmentManager().beginTransaction().add(R.id.main_id, f1).commit();
答案 1 :(得分:1)
下面
getSupportFragmentManager().beginTransaction().add(R.id.main_id, f1).commit();
f1
必须延长Fragment
才能作为FragmentTransaction
的一部分添加。