如何在android中的单个活动中实现Fragment和AppCompatActivity

时间:2017-10-07 20:36:43

标签: android android-fragments android-cardview

我已在我的活动调用Performance_Medicine

的tablayout中实现了滑动
public class Performance_Medicine extends Fragment{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){

       //Returning the layout file after inflating
       //Change R.layout.tab1 in you classes
       return inflater.inflate(R.layout.performance_medicine, container, false);
    }
}

现在,我正在尝试在同一活动中实现cardview。但是得到错误 like below image

2 个答案:

答案 0 :(得分:0)

您收到错误是因为您正在尝试传递public static void findMatch(char c) { for (int i = 0; i < word.length(); i++) { if (word.charAt(i) == c) { correct[i] = c; sb.setCharAt(i, c); } else if (word.charAt(i) != c) { wrong[i] = c; } } System.out.print(sb.toString()); attempts++; } public static void printAstrick() { for (int i = 0; i < word.length(); i++) { sb.append("*"); } System.out.print(sb.toString()); } 扩展Performance_Medicine的实例。您需要传递一个可以通过Fragmentthis.getActivity()执行的上下文。如果你可以通过单例或this.getContext()传递应用程序上下文,那么你可能会更好地记忆。

答案 1 :(得分:0)

请记住,Fragment有自己的生命周期,但它在其主机Activity的上下文中运行,这意味着你不能使用'this'来获取Context,而是需要使用getActivity()。另外,正如sam_c所说,在你的onCreate()方法中,最后一行代码必须是'return ...',因为这个方法的返回类型是'View',如果你调用return语句,那么方法就赢了'在此之后执行任何操作。希望这有助于澄清。