Cómo hacer que un método View invisible / Gone onBackPressed () en android

tengo 5 actities en un Tabhost. (es decir, MainActivity.java Home.java, NowReading.java, Favorites.java y Profile.java). en la actividad principal estoy cargando el tabhost. como se muestra a continuación.

public class MainActivity extends TabActivity { TabHost tabHost; Context context = MainActivity.this; TextView txt_Login; View homeTabLayout; View reviewLayout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt_Login = (TextView) findViewById(R.id.txt_Login); final Spinner spnrLanguage = (Spinner) findViewById(R.id.spnrLanguage); final Spinner spnrBrowseBy = (Spinner) findViewById(R.id.spnrBrowseBy); tabHost = getTabHost(); // Android tab Intent intentHome = new Intent().setClass(this, Home.class); TabSpec tabSpecHome = tabHost .newTabSpec("Home") .setIndicator("Home", getResources().getDrawable(R.drawable.home)) .setContent(intentHome); tabHost.addTab(tabSpecHome); Intent intentNowReading = new Intent().setClass(this, NowReading.class); TabSpec tabSpecNowReading = tabHost .newTabSpec("Now Reading") .setIndicator("Now Reading", getResources().getDrawable(R.drawable.now_reading)) .setContent(intentNowReading); tabHost.addTab(tabSpecNowReading); Intent intentFavourite = new Intent().setClass(this, Favorites.class); TabSpec tabSpecFavourite = tabHost .newTabSpec("Favourite") .setIndicator("Favorites", getResources().getDrawable(R.drawable.favorites)) .setContent(intentFavourite); tabHost.addTab(tabSpecFavourite); Intent intentProfile = new Intent().setClass(this, Profile.class); TabSpec tabSpecProfile = tabHost .newTabSpec("Profile") .setIndicator("Profile", getResources().getDrawable(R.drawable.profile)) .setContent(intentProfile); tabHost.addTab(tabSpecProfile); tabHost.setCurrentTabByTag("Home"); 

en Mainactivity.java im setting El Home.java como Tab actual. como

 tabHost.setCurrentTabByTag("Home"); 

que carga el layout home_activity.xml en el setContentView.

introduzca la descripción de la imagen aquí

aquí está el código XML

  <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:id="@+id/rel_HomeLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:numColumns="auto_fit" android:stretchMode="columnWidth" > </GridView> </RelativeLayout> <ScrollView android:id="@+id/scroll_ReviewLayout" android:layout_width="fill_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/rel_ReviewLayout01" android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageView android:id="@+id/img_OverVuBookCoverPhoto" android:layout_width="130dp" android:layout_height="165dp" android:layout_margin="5dp" android:adjustViewBounds="true" android:background="@drawable/rounded_image_borders" android:paddingLeft="5dp" android:paddingRight="5dp" android:src="@drawable/book1" /> <TextView android:id="@+id/txt_revwBookTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/img_OverVuBookCoverPhoto" android:layout_marginTop="10dp" android:layout_toRightOf="@+id/img_OverVuBookCoverPhoto" android:text="The Basic Doctrine Of Islam" android:textColor="@color/White" android:textSize="12sp" /> <TextView android:id="@+id/txt_revwAutherName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txt_revwBookTitle" android:layout_marginTop="2dp" android:layout_toRightOf="@+id/img_OverVuBookCoverPhoto" android:text="By: Andrew J Newman" android:textColor="@color/SkyBlue" android:textSize="11sp" /> <TextView android:id="@+id/txt_PublishDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txt_revwAutherName" android:layout_marginTop="2dp" android:layout_toRightOf="@+id/img_OverVuBookCoverPhoto" android:text="Published: July, 30 2007" android:textColor="@color/DarkGray" android:textSize="11sp" /> <RatingBar android:id="@+id/ratingbar" style="?android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txt_PublishDate" android:layout_marginBottom="6dp" android:layout_marginTop="6dp" android:layout_toRightOf="@+id/img_OverVuBookCoverPhoto" android:isIndicator="false" android:numStars="5" android:rating="5" android:stepSize="1" /> <Button android:id="@+id/btnOpenBook" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/img_OverVuBookCoverPhoto" android:layout_below="@+id/ratingbar" android:layout_toRightOf="@+id/img_OverVuBookCoverPhoto" android:text="Open Book" android:textColor="@color/Black" android:textSize="13sp" /> <ImageButton android:id="@+id/btnBack" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/btnOpenBook" android:layout_alignTop="@+id/btnOpenBook" android:layout_marginLeft="5dp" android:layout_toRightOf="@+id/btnOpenBook" android:src="@drawable/pic_btn_back" android:textColor="@color/Black" android:textSize="14sp" /> <TextView android:id="@+id/txt_BookOverview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/img_OverVuBookCoverPhoto" android:layout_below="@+id/img_OverVuBookCoverPhoto" android:layout_marginBottom="10dp" android:layout_marginTop="20dp" android:text="Book Overview" android:textColor="@color/White" android:textSize="13sp" /> <TextView android:id="@+id/txt_BookOverviewDetails" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/img_OverVuBookCoverPhoto" android:layout_below="@+id/txt_BookOverview" android:lineSpacingExtra="4dp" android:lines="10" android:text="Lorem ipsum dolor sit amet, there was nothing that I can do she was dead, for this reasean I m gonna loose every thing consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." > </TextView> </RelativeLayout> </ScrollView> </FrameLayout> 

en el método onCreate de Home.java he hecho un Framelayout invisible / Gone (que contiene la descripción del libro Cliked) como

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home_activity); homeTabLayout = findViewById(R.id.rel_HomeLayout); reviewLayout = findViewById(R.id.scroll_ReviewLayout); reviewLayout.setVisibility(View.GONE); 

ahora cuando hago clic en cualquier libro que haga visible la vista que he hecho invisible / ido anteriormente en el método onCreat como se ha explicado anteriormente utilizando el código

 gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { // TODO Auto-generated method stub Toast.makeText(context, BookTitle.get(pos), Toast.LENGTH_SHORT) .show(); reviewLayout.setVisibility(View.VISIBLE); 

introduzca la descripción de la imagen aquí

Nota: que no es la nueva actvity más bien he hecho Visible una vista (ie reviewLayout.setVisibility (View.VISIBLE);) en el evento click.

  • Mi pregunta es que quiero hacer esta vista Invisible / Gone en el método onBackPressed ().
  • ¿Dónde debo llamar a este método, ya sea en MainActivity.java o en el archivo Home.java
  • Si estoy llamando a este método en el MainActivity.java su elevación de una excepción nullPointerException.

Plz Ayuda con algún fragmento de código He estado atrapado en este pequeño número Gracias de antemano.

Recuerdos Qadir Hussain

2 Solutions collect form web for “Cómo hacer que un método View invisible / Gone onBackPressed () en android”

Puede anular el método de BackPress … con la ayuda de esto puede ocultar sus diseños o ver …

 @Override public void onBackPressed() { super.onBackPressed(); // Invisible or Gone Your Views here.... } 

Puede anular el método de botón de retroceso

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // You can call view.setVisiblility(View.GONE) if you want to remove it from the layout, or view.setVisibility(View.INVISIBLE) if you just want to hide it. view.setVisiblility(View.GONE); // or view.setVisibility(View.INVISIBLE); return true; } return super.onKeyDown(keyCode, event); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.