2011-10-14 23 views
5

Tenga en cuenta que estoy usando Mono para AndroidAndroid TextView defStyle parámetro ignorado?

Tengo un ListView de artículos que puede extenderse haciendo clic en un botón "Más" en la parte inferior de la lista. La lista se define en XML, pero el botón más es simplemente un TextView que se puede hacer clic y que se agrega al final de la lista a través de AddFooterView. Estoy tratando de aplicar un estilo predefinido al TextView creado en tiempo de ejecución, pero no está funcionando.

mMoreProductsButton = new TextView(this, null, Resource.Style.more_button); 
mMoreProductsButton.Text = "More"; 
mMoreProductsButton.Click += new EventHandler(MoreProductsButton_Click); 
mListView.AddFooterView(mMoreProductsButton); 

documentación TextView muestra esta firma: TextView(Context context, AttributeSet attrs, int defStyle)

defStyle se define en la documentación como el estilo por defecto para aplicar a la vista. Un ejemplo que vi en otro lugar pasó nulo como AttributeSet, pero no estoy seguro si eso es válido o está relacionado con mi problema.

me encontré con este error y no estoy seguro de si está relacionado y actual: http://code.google.com/p/android/issues/detail?id=12683

Se aprecia cualquier sugerencia!

Respuesta

1

También busqué la respuesta a esta pregunta. Parece ser un error de Android porque no encontré una forma de aplicar el estilo a la creación de vistas. ¿Por qué no quieres inflar tu TextView?
De esta manera:

diseño/my_view.xml

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:style="@style/more_button" /> 

Actividad

TextView mMoreProductsButton = (TextView) getLayoutInflater().inflate(R.layout.my_view, null, false); 

Lo sentimos, no sé si es viable en Mono.

+0

Eso es viable en Mono y lo hago en muchos otros lugares donde estoy ensamblando diseños complejos. En este caso, parecía un desperdicio crear un recurso XML y luego cargarlo e inflarlo cuando se trata de un simple TextView. Es extraño para mí que la plataforma Android no sea compatible con la creación dinámica de elementos con estilo. – dubj