¿Por qué tengo 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
    }
}

¿Cómo puedo obtener MainLayout o cómo agregar controlador de eventos Touch?

De recursos.el diseñador.cs:

public partial class Layout
{
    public const int Main = 2130903041;
    //other
}
Espero que esto es una especie de pseudo código? – si es así, publica tu código real.
Echa un vistazo a la etiqueta: xamarin. Más información en: Xamarin
Esta es la parte de código real (C#, Xamarin)
Ow, lo siento entonces, echaba de menos esa pequeña etiqueta. Voy a editar tu pregunta y ponerlo en el título.

OriginalEl autor Olena | 2013-09-23

2 Comentarios

  1. 5
    LinearLayout mainLayout = FindViewById<LinearLayout> 
                                       (Resource.Layout.Main);//return null

    Usted está usando un archivo de diseño como el argumento: Resource.Layout.Main

    Lo que se debe utilizar es el id asignado a su LinearLayout dentro de Resource.Layout.Main.

    Tratar:

    LinearLayout mainLayout = FindViewById<LinearLayout> 
                                       (Resource.Id.linear_layout_id);
    public const int Main = 2130903041; ¿no es ID?
    No. El id tiene que ser asignado a la LinearLayout en el archivo xml. Esta es la forma en que se encuentran. Agregar android:id="@+id/mylinearlayout" a la LinearLayout y uso LinearLayout mainLayout = FindViewById<LinearLayout> (Resource.Id.mylinearlayout);

    OriginalEl autor Vikram

  2. 5

    Establecer un ID (android:id=»@+id/mainLayoutID») en el XML que contiene la LinearLayout llamado «mainLayout».

    A continuación:


    @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);
    
    }

    OriginalEl autor reis_eliel

Dejar respuesta

Please enter your comment!
Please enter your name here