在一个碎片中添加一个按钮?

4

我正在尝试在片段布局中添加一个按钮,但它显示方法findViewByid无法解析。我是在片段的onCreateView方法中实现它的。为什么会出现这个错误?

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.view.View;
import android.widget.Button;

public class extra extends Fragment {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        Button myButton = (Button) findViewById(R.id.my_button);
        return inflater.inflate(R.layout.extra, container, false);

    }

}

这是因为你的类没有一个名为findByViewId的方法。 - Stultuske
请检查我的解决方案 @asdddd - Sathish Kumar J
4个回答

4
你需要使用View,例如:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.extra, container, false);
      // Inflate the layout for this fragment
    Button myButton = (Button) rootView.findViewById(R.id.my_button);

    return rootView;
}

1
使用我的代码。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.extra, container, false);
Button myButton = (Button)view.findViewById(R.id.my_button);
return view;
}

1
public class extra extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
  View v = LayoutInflater.from(getActivity()).inflate(
            R.layout.YOUR_LAYOUT, null);

    Button myButton = (Button) v.findViewById(R.id.my_button);
    return v;
}}

使用上述代码。

0

使用此代码:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
       View rootView = inflater.inflate(R.layout.extra, container, false);
        Button myButton = (Button) rootView.findViewById(R.id.my_button);
       return rootView;

    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接