2014-12-08 4 views
3

나는 안드로이드 초보자입니다.Android : 다시 버튼을 두 번 클릭 하시겠습니까?

내 시나리오

내가 2 개 버튼 A 버튼 버튼 B를 가진 A 화면이

내 응용 프로그램 화면 A는 위의 두 버튼을 열어 열고 난 클릭하면 버튼 B에는 텍스트 뷰와 편집 텍스트가 표시됩니다.

내가 원하는 것은 무엇입니까?

뒤로 가기 버튼은 텍스트 뷰를 누를 때와 글고 숨길해야 내가 다시 누르면, 내가 지금까지 시도 무엇 화면 A.

을 종료해야합니까?

내 아래 코드가 내가 원하는대로 맞습니까?

홈페이지 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; 
     } 


    } 


} 

나는 thisthis 링크를 참조하지만, 이해하지 못했다. 어떤 사람이 나를 이루기 위해 나를 도울 수 있다면 내가 원한다. 1

+1

이 날 경우 알려 아래에 코드 당신은 내 xml 코드 –

+1

캔트가 필요 그냥 bool 추가 할 수 있습니까? fieldshidden = false; 필드를 숨길 때 다음으로 onBackPressed do (fieldshidden) {bla bla} –

+0

@Bart Hofma : yes, 해결 방법은이 –

답변

2

내가 다시 누르면,

@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(); 
} 
관련 문제