내 응용 프로그램에 많은 대화 상자 창이 있습니다. 소스가 압도적 인 것처럼 보입니다. Dialog 소스를 분리하는 가장 좋은 방법에 대한 의견을 찾고 있습니다. 나는 Java에 비교적 익숙하지 않기 때문에 별도의 클래스에 넣을 수 있다고 가정하고 있습니다. 그러나, 안드로이드에서 이것을하는 정확한 방법은 나를 암시한다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?애플리케이션에서 Android 대화 소스를 구성하는 방법은 무엇입니까?
1
A
답변
1
다음과 같이 대화를 확장하여 대화를 만들 수 있습니다. 1. customDialog에 대한 Layout.xml을 만듭니다. 보기가 포함 된 새 레이아웃을 만듭니다. 이 예제에서는 edittext와 button을 사용했습니다.
사용자 정의 대화 상자 클래스 만들기
<EditText android:id="@+id/EditText01" android:layout_height="wrap_content" android:text="Enter your name" android:layout_width="250dip"></EditText> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="click"></Button>
. a. 대화 상자 클래스를 확장하는 클래스 만들기 b. 이벤트 처리기 인터페이스를 구성원으로 작성하십시오. c. onCreate 메소드에서 사용자 정의 레이아웃을 사용하십시오.<?xml version="1.0" encoding="utf-8"?>
public class MyCustomDialog extends Dialog { public interface ReadyListener { public void ready(String name); } private String name; private ReadyListener readyListener; EditText etName; public MyCustomDialog(Context context, String name, ReadyListener readyListener) { super(context); this.name = name; this.readyListener = readyListener; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mycustomdialog); setTitle("Enter your Name "); Button buttonOK = (Button) findViewById(R.id.Button01); buttonOK.setOnClickListener(new OKListener()); etName = (EditText) findViewById(R.id.EditText01); } private class OKListener implements android.view.View.OnClickListener { @Override public void onClick(View v) { readyListener.ready(String.valueOf(etName.getText())); MyCustomDialog.this.dismiss(); } }
}
는 MainActivity를 만들고
공용 클래스 MainActivity가 활동 { /** 호출 활동이 처음 만들어 확장 CustomDialog를 구현합니다. */ @Override public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); MyCustomDialog myDialog = new MyCustomDialog (this, "", new OnReadyListener()); myDialog.show(); } 개인 클래스 OnReadyListener는 MyCustomDialog.ReadyListener { @Override 공공 무효 준비 (문자열 이름) { Toast.makeText (MainActivity.this, 이름, Toast.LENGTH_LONG을) .show()을 구현; } } }
관련 문제
- 1. Cloudbees Java EE6 애플리케이션에서 Mysql 데이터 소스를 구성하는 방법은 무엇입니까?
- 2. Mono Android 애플리케이션에서 데이터 소스를 gridview로 설정하는 방법은 무엇입니까?
- 3. 복잡한 프로그램 소스를 구성하는 방법은 무엇입니까?
- 4. Android 애플리케이션에서 검색 대화 상자를 표시하는 방법은 무엇입니까?
- 5. Android 애플리케이션에서 채팅하는 방법은 무엇입니까?
- 6. Android 애플리케이션에서 '요청'Facebook 대화 상자 사용
- 7. Android 애플리케이션에서 채팅 기능을 구현하는 방법은 무엇입니까?
- 8. Android 애플리케이션에서 나머지를 생성/설정하는 방법은 무엇입니까?
- 9. Android 애플리케이션에서 Youtube 비디오를 재생하는 방법은 무엇입니까?
- 10. Android 애플리케이션에서 웹 서비스를 사용하는 방법은 무엇입니까?
- 11. Unity 애플리케이션에서 Android 활동을 시작하는 방법은 무엇입니까?
- 12. Android 애플리케이션에서 QuickSearchBox를 사용하는 방법은 무엇입니까?
- 13. Android 애플리케이션에서 edsdk.lib 파일을 사용하는 방법은 무엇입니까?
- 14. Android 애플리케이션에서 맞춤 MessageBox를 만드는 방법은 무엇입니까?
- 15. Android 애플리케이션에서 SQLite를 구현하는 방법은 무엇입니까?
- 16. Android 애플리케이션에서 SQLite 데이터베이스를 연결하는 방법은 무엇입니까?
- 17. Android 애플리케이션에서 프로필을 구현하는 방법은 무엇입니까?
- 18. Android 애플리케이션에서 웹 페이지를 북마크하는 방법은 무엇입니까?
- 19. Android 애플리케이션에서 terminal 명령을 실행하는 방법은 무엇입니까?
- 20. 다른 Android 애플리케이션에서 가치를 얻는 방법은 무엇입니까?
- 21. 적당히 큰 Rails 애플리케이션에서 컨트롤러를 구성하는 방법은 무엇입니까?
- 22. Android 소스를 Eclipse에 연결하는 방법은 무엇입니까?
- 23. JSON 객체를 반환하는 서버 측 데이터 소스를 구성하는 방법은 무엇입니까?
- 24. Tomcat 6에서 전역 JNDI 데이터 소스를 구성하는 방법은 무엇입니까?
- 25. Android 애플리케이션에서 블루투스로 수신 된 파일을 수락하는 방법은 무엇입니까?
- 26. Android 애플리케이션에서 값 숨기기
- 27. Android : 레이아웃을 구성하는 방법
- 28. 디버그 도구를 사용하여 Android 애플리케이션에서 문제를 찾는 방법은 무엇입니까?
- 29. C# 웹 브라우저 검색 대화 상자 동작을 구성하는 방법은 무엇입니까?
- 30. Vim Exuberant Tags를 사용하여 Rails의 코어에 스테핑을 구성하는 방법은 무엇입니까?
난 당신이 좀 더 문제를 지정한 경우 도움이 될 것 같아요. 앱에 몇 개의 활동이 있습니까? 대화 상자 각각 하나의 활동에 특정, 또는 다른 활동에서 열 수있는 대화 상자가 있습니까? – Cephron
모든 대화 창은 하나의 활동과 관련이 있으며 대화 창 외부에서 액세스 할 수 없습니다. 모든 대화 상자를 편리하게 캡슐화하는 영리한 방법을 찾고 있습니다. 어떤 도움이라도 좋을 것입니다, 고마워요! – mas