2014-12-08 1 views
3

Я новичок в андроиде.Android: дважды нажмите кнопку «Назад»?

Моего сценарий

У меня есть экран А, который имеет 2 кнопки кнопок для Кнопки B.

Когда я открываю мой экран приложение А открывается вверх с вышеперечисленными 2 кнопками, при нажатии кнопки на кнопке B отображается текстовое изображение и Edittext.

Что я хочу?

Когда кнопка назад нажата TextView и EditText должны скрывать и когда я снова отжать, я должен выйти из экрана А.

Что я пытался до сих пор?

Является ли мой нижеследующий код правильным для того, что я хочу?

Главная Activity.xml

import android.support.v7.app.ActionBarActivity; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity extends Activity implements OnClickListener { 

    TextView title; 
    EditText userinput; 
    Button buttonA,buttonB; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     initialize(); 
    } 

    private void initialize() { 
     userinput = (EditText)findViewById(R.id.userinput); 
     title = (TextView)findViewById(R.id.title); 
     buttonA = (Button)findViewById(R.id.buttonA); 
     buttonB = (Button)findViewById(R.id.buttonB); 
     buttonA.setOnClickListener(this); 
     buttonB.setOnClickListener(this); 
    } 



@Override 
public void onBackPressed() { 
    title.setVisibility(View.INVISIBLE); 
userinput.setVisibility(View.INVISIBLE); 


    } 

    @Override 
    public void onClick(View v) { 

     switch(v.getId()) 
     { 

     case R.id.buttonA: 
      break; 

     case R.id.buttonB: 

      title.setVisibility(View.VISIBLE); 
      userinput.setVisibility(View.VISIBLE); 
      break; 
     } 


    } 


} 

я говорил this и this ссылку, но не понял. Если кто-то может помочь мне в достижении меня хочу, я хочу 1

+1

Позвольте мне знать, если вам нужен мой xml-код –

+1

не могу просто добавить bool? fieldshidden = false; когда вы скрываете поля, сделайте это верно , затем в onBackPressed do if (fieldshidden) {bla bla} –

+0

@Bart Hofma: - да, ваше решение - самый простой способ решить эту проблему –

ответ

2

Когда кнопка назад нажата TextView и EditText должны скрывать и когда я снова отжать,

@Override 
public void onBackPressed() { 
    if (title.getVisibility() != View.VISIBLE && 
      userInput.getVisibility() != View.VISIBLE) { 
     super.onBackPressed(); 
     return; 
    } 
    title.setText(null); 
    userinput.setText(null); 
    title.setVisibility(View.INVISIBLE); 
    userinput.setVisibility(View.INVISIBLE);   
} 
+0

Спасибо. Это сработало. –

+0

приветствуются – Blackbelt

0

Делай это.

@Override 
public void onBackPressed() { 
if(title.getVisibility()==View.VISIBLE) 
{ 
    title.setVisibility(View.INVISIBLE); 
    userinput.setVisibility(View.INVISIBLE); 
} 
    else 
    { 
    finish(); 
    } 
} 

Хоп это сделает то, что вы хотите.

+0

Спасибо тоже .. –

+0

ваш wc ...... :) – Nitesh

0

Изменить код ниже

@Override 
public void onBackPressed() { 
if (title.getVisibility() != View.VISIBLE && 
      userInput.getVisibility() != View.VISIBLE){ 
title.setVisibility(View.INVISIBLE); 
userinput.setVisibility(View.INVISIBLE); 
} 
super.onBackPressed(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^