Foros de discusión

AssetListScreenlet

thumbnail
Pablo Zapico, modificado hace 8 años.

AssetListScreenlet

Junior Member Mensajes: 48 Fecha de incorporación: 2/06/10 Mensajes recientes
Buenos dias estamos probando el AssetListScreenlet para devolver contenidos.

Cojemos el className de JournalArticle, la idea es listar contenidos. Pero no vemos la lista de los contenidos renderizada, depurando si vemos que llegan contenidos.


com.liferay.mobile.screens.assetlist.AssetListScreenlet
        android:id="@+id/asset_list_default"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        liferay:labelFields="title"
        liferay:classNameId="10109"
        liferay:layoutId="@layout/asset_list_default"/>



public class WebContentActivity  extends ThemeActivity implements BaseListListener<assetentry> {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_web_content);

        _screenlet = (AssetListScreenlet) getActiveScreenlet(
                R.id.asset_list_default, R.id.asset_list_default);

        
        _screenlet.setVisibility(View.VISIBLE);
        _screenlet.setListener(this);

        hideInactiveScreenlet(R.id.asset_list_default, R.id.asset_list_default);
       
    }

    @Override
    protected void onResume() {
        super.onResume();

        _screenlet.loadPage(1);
    }

    @Override
    public void onListPageFailed(BaseListScreenlet source, int page, Exception e) {
        error("Page request failed", e);
    }

    @Override
    public void onListPageReceived(BaseListScreenlet source, int page, List<assetentry> entries, int rowCount) {
        info("Page " + page + " received!");
    }

    @Override
    public void onListItemSelected(AssetEntry element, View view) {
        info("Item selected: " + element);

    }

    private AssetListScreenlet _screenlet;    

</assetentry></assetentry>
thumbnail
Javier Gamarra, modificado hace 8 años.

RE: AssetListScreenlet

Expert Mensajes: 348 Fecha de incorporación: 12/02/15 Mensajes recientes
No os recomiendo utilizar la clase ThemeActivity, si os fijáis en el código está pensada sólo para la aplicación de demo (probablemente deberíamos cambiarla) y muestra/oculta varios screenlets que tiene un tema.

protected View getActiveScreenlet(int defaultId, int materialId) {
		return isDefaultTheme() ? findViewById(defaultId) : findViewById(materialId);
}

protected void hideInactiveScreenlet(int defaultId, int materialId) {
	View view = isDefaultTheme() ? findViewById(materialId) : findViewById(defaultId);
	view.setVisibility(View.GONE);
}


Creo que lo que está pasando es que estáis utilizando getActiveScreenlet, que sólo hace un findViewById (mejor hacerlo directamente) y luego ocultáis el screenlet con hideInactiveScreenlet.

Cambiad la llamada a getActive... por un findViewById y quitad la llamada a hide y ya debería funcionar (creo)
thumbnail
Pablo Zapico, modificado hace 8 años.

RE: AssetListScreenlet

Junior Member Mensajes: 48 Fecha de incorporación: 2/06/10 Mensajes recientes
Muchas gracias, funcionó perfecto...se sabe la fecha para la nueva versión? Lo de poder filtrar los tipos de contenidos parece muy interesante.
thumbnail
Juan Fernández, modificado hace 8 años.

RE: AssetListScreenlet

Liferay Legend Mensajes: 1261 Fecha de incorporación: 2/10/08 Mensajes recientes
Hola Pablo:
la siguiente versión está planeada para fin de Septiembre/principios de Octubre, pero si es MUY importante para vosotros (y prometéis dar feedback a cambio), podría haceros llegar una versión early-access de la 1.3... ¿qué me dices? emoticon
¡gracias por tu interés!
Juan
thumbnail
Pablo Zapico, modificado hace 8 años.

RE: AssetListScreenlet

Junior Member Mensajes: 48 Fecha de incorporación: 2/06/10 Mensajes recientes
Estaria genial poder probar la nueva version y os iremos contando nuestras experiencias, jejeje.