Ole*_*ena -1 android nullreferenceexception xamarin.android android-linearlayout xamarin
我为什么要这样mainLayout==null?
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
LinearLayout mainLayout = FindViewById<LinearLayout> (Resource.Layout.Main);//return null
mainLayout.Touch+=(s,e)=>
{
//something
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取MainLayout或如何添加事件处理程序Touch?
Resource.designer.cs:
public partial class Layout
{
public const int Main = 2130903041;
//other
}
Run Code Online (Sandbox Code Playgroud)
LinearLayout mainLayout = FindViewById<LinearLayout>
(Resource.Layout.Main);//return null
Run Code Online (Sandbox Code Playgroud)
您正在使用布局文件作为参数: Resource.Layout.Main
你应该使用的是id你在里面分配给你的LinearLayout Resource.Layout.Main.
尝试:
LinearLayout mainLayout = FindViewById<LinearLayout>
(Resource.Id.linear_layout_id);
Run Code Online (Sandbox Code Playgroud)
小智 5
在XML上设置一个ID(android:id ="@ + id/mainLayoutID"),其中包含名为"mainLayout"的LinearLayout.
然后:
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Your layout reference
final LinearLayout mainLayout = (LinearLayout) findViewById(R.id.mainLayoutID);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6125 次 |
| 最近记录: |