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