studio segundo putextra pasar parĂ¡metros pantallas obtener navegacion lanzar item intent entre edittext desplegable desde datos context boton bar activity abrir android gridview textview contextmenu

segundo - obtener datos de un edittext android



Valor de texto de TextView actualizado onclick (1)

Intente recuperar tab1 utilizando su instancia ContextualMenuView ( contextMenuView ):

tv = (TextView) contextualMenuView.findViewById(R.id.tab1);

Además, ¿podría intentar inflar su ContextualMenuView en el método onCreate () y crear una instancia de su TextView allí también?

Tengo una vista de cuadrícula en una actividad en la que intento mostrar un menú contextual cada vez que se toca un elemento de la grilla. Quiero que este menú contextual muestre un valor dinámico en una vista de texto (la posición del elemento de grilla intervenido). Estoy creando mi propio menú contextual porque no quiero una alerta o el menú contextual predeterminado de android. También estoy usando SDKs:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />

Aquí está mi java.class para gridview

public class Grid_Items extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_grid_items); GridView gridView = (GridView) findViewById(R.id.gridViewLayout); gridView.setAdapter(new ImageAdapter(this)); gridView.setOnItemClickListener(new OnItemClickListener() { View contextualMenuView = null; public void onItemClick(AdapterView<?> parent, View v, int position, long id) { // RelativeLayout that contains parent layout RelativeLayout rootLayout = (RelativeLayout)findViewById(R.id.root); // in case there is a context menu open, remove it if(contextualMenuView!=null) { rootLayout.removeView(contextualMenuView); } // inflate contextual menu contextualMenuView = getLayoutInflater().inflate(R.layout.contextual_menu, rootLayout); // sets values for the textview TextView tv = (TextView) findViewById(R.id.tab1); tv.setText("tab1 = "+String.valueOf(position)); }

  • La primera vez que hago clic en un elemento de la cuadrícula, aparece mi menú contextual con el valor de texto correcto en la vista de texto
  • La 2 ª vez y cada dos por tres, el menú aún está allí, pero el valor de texto de la vista de texto está vacío. Necesito que este valor se "actualice" cada vez que el usuario toca un elemento en la grilla.

diseño para la actividad gridview

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:layout_width="match_parent" android:layout_height="match_parent"> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridViewLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="90dp" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:stretchMode="columnWidth" android:gravity="center"> </GridView> </RelativeLayout>

Diseño para el menú contextual que infló:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/contextualMenuLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ffffff"> <!-- --> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_marginRight="10dip" android:layout_marginLeft="10dip" android:layout_marginTop="10dip" android:layout_marginBottom="10dip" android:textSize="28sp" android:textColor="#ff0000"> </TextView>

¿Qué me he perdido?