Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 名称为;getView";在当前上下文中不存在_C#_Android_Android Fragments - Fatal编程技术网

C# 名称为;getView";在当前上下文中不存在

C# 名称为;getView";在当前上下文中不存在,c#,android,android-fragments,C#,Android,Android Fragments,我正在构建一个Android应用程序,它使用片段来显示不同的视图。第一个选项卡包含下面的代码。不幸的是,我遇到了以下错误: 当前上下文中不存在名称“getView” 我还尝试将getView()放置在onActivityCreated中,而不是onViewCreated中,但收到了相同的错误。为什么无法识别getView namespace BottomToolbar { public class FirstFragment : Fragment { public

我正在构建一个Android应用程序,它使用片段来显示不同的视图。第一个选项卡包含下面的代码。不幸的是,我遇到了以下错误:

当前上下文中不存在名称“getView”

我还尝试将getView()放置在onActivityCreated中,而不是onViewCreated中,但收到了相同的错误。为什么无法识别getView

namespace BottomToolbar
{
    public class FirstFragment : Fragment
    {
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
        }

        public static FirstFragment NewInstance()
        {
            var fragment = new FirstFragment { Arguments = new Bundle() };
            return fragment;
        }

        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View view = inflater.Inflate(Resource.Layout.FirstFragment, container, false);
            return view;
        }

        public override void OnViewCreated(View view, Bundle savedInstanceState)
        {
            Button button = (Button)getView().findViewById(Resource.Id.getWeatherButton);
        }
    }
}
试试这个:

Public override void OnViewCreated(View view, Bundle savedInstanceState) {
    Button button = (Button)view.getView().findViewById(Resource.Id.getWeatherButton); }
改变

Button button = (Button)getView().findViewById(Resource.Id.getWeatherButton);

Button-Button=View.findviewbyd(Resource.Id.getWeatherButton);

getView()
替换为
view
它不是Java代码,而是C代码。您正在C代码中粘贴Java代码。Xamarin仅以1:1的比例转换为原生Android Java代码,但也有一些变化,例如,函数
getView
被属性
View
替换(Java没有类似C的属性),
findViewById
findViewById
等等。我按照你的指示更改了代码,Yupi和Gusman,错误消失了。我会写一个答案。非常感谢。
Button button = View.FindViewById<Button>(Resource.Id.getWeatherButton);