아래는 1-20의 임의의 숫자를 생성하는 안드로이드 응용 프로그램의 코드 스 니펫이며 사용자는 숫자를 추측 한 후 버튼을 누르면 숫자, 사용자가 작성한 숫자 (val) 및 앱이 생성 한 숫자를 추측합니다 (rand_no)가 비교됩니다.
비교 후 표시되는 텍스트가 사라져서 추측하고 버튼을 누를 때마다 새로운 출력이 생성되도록하고 싶습니다.
기능을 호출 할 때마다 (버튼을 누를 때마다) 가시성을 INVISIBLE로 설정 한 다음 비교가 이루어지고 출력이 표시되면 가시성을 VISIBLE로 다시 설정합니다. 그러나 놀랍게도 동작은 한 번만 발생하며 첫 번째 함수 호출 후에 텍스트가 더 이상 표시되지 않습니다.
public class MainActivity extends AppCompatActivity {
Random random=new Random();
int rand_no=random.nextInt(20)+1;
public void function(View v)
{
EditText e1=(EditText)findViewById(R.id.editText); //for text input by
//the user
TextView e2=(TextView) findViewById(R.id.textOutput); //for output text
int val=Integer.parseInt(e1.getText().toString());
e2.setVisibility(View.INVISIBLE); //setting output to INVISIBLE
if(rand_no<val)
{
e2.setText("Go Lower!");
}
if(rand_no>val)
{
e2.setText("Go Higher!");
}
if(rand_no==val)
{
e2.setText("You guessed right!");
}
e2.setVisibility(View.VISIBLE); //setting output to VISIBLE
/* Fading away the output*/
e2.animate().setStartDelay(2000);
e2.animate().alpha(0).setDuration(1000);
}
따라서 함수가 끝난 후 컨트롤이 다시 전달된다는 것을 알고 싶습니다. 레이아웃 파일? 또는 함수를 다시 실행하기 위해 버튼을 여러 번 눌러도 가시성이 한 번만 할당되는 것처럼 보이기 때문에 MainActivity.java에 남아 있습니다.
- 답변 # 1
관련 자료
- Android Studio에서 새로운 XML 레이아웃을 확인할 수 없습니다
- java - 앱 레이아웃이 Android 스튜디오 레이아웃과 다릅니다
- Android Studio 33, 레이아웃 미리보기, 확대, 축소 및 화면에 맞게 확대 버튼이 작동하지 않음
- java - GridView Android Studio에서 하나의 뷰로 2 개의 레이아웃을 만드는 방법
- 내 XML 레이아웃을 대체하는 Android Studio (버그)
- Android Studio 341 레이아웃 미리보기 렌더링 문제
- asset studio (android studio) - google play 스토어 아이콘의 목적은 무엇입니까?
- java - Android Studio Profiler가 AsyncTask 스레드에서 활동을 표시하지 않는 이유
- java - Android Studio의 앱 그리드 목록에서 앱 아이콘이 비어있는 이유는 무엇입니까?
- java - Android Studio에서 백분율 계산기가 작동하지 않습니다
- Android Studio에 문제가 있습니다 Cant는 다른 프로젝트와 마찬가지로 프로젝트를 만듭니다
- javalangillegalargumentexception - android studio 341에서 adb를 찾을 수 없습니다
- gradle - 인공물 발행은 안드로이드 스튜디오 341에서 작동하지 않습니다
- locale - 앱 Android Studio에서 언어가 변경되지 않음
- java - 안드로이드 스튜디오 - apk 서명 및 빌드시 android 리소스 컴파일에 실패했습니다
- android studio 34 매니페스트 병합 실패 - uses-sdk : minsdkversion 1은 버전 14보다 작을 수 없습니다
- java - databasesqliteSQLiteOpenHelpergetDatabaseLocked + Null 포인터 예외 오류 Android Studio
- intellij idea - Android Studio에서 북마크 그룹화
- retrofit2 - Android Studio 네트워크 프로파일 러 개선 2-네트워크 프로파일 링 데이터를 사용할 수 없음
와이즈 비즈
흐리게 변하기 때문에 다시 표시해야합니다.
따옴표가 붙은 줄을 아래 코드로 바꾼다
e2.animate().alpha(0).setDuration(1000) .setListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { e2.animate().alpha(1).setDuration(500); } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } });