0

別の画面を表示したいのに、なぜ人々が新しいアクティビティの開始を推奨し続けるのか知りたいのですが。

たとえば、ラベルとedit_textのある画面を表示してユーザー名を尋ね、次に別の同様の画面を表示して年齢を尋ね、次に別の画面を表示して入力したデータを表示して確認を求めたいとします。

これは私がしました:

main_layout.xml:   has a button let's say mainButton, onClick="startRegistration"
name_layout.xml:      edittext asking for name
age_layout.xml:        edittext asking for age
confirm_layout.xml:    display info + button to confirm

とで:

public class MainActivity extends Activity {

onCreate(...) {
   ...
   setContentView(R.layout.main_layout);
}

public void startRegistration(View clickedButton) {
   setContentView(R.layout.name_layout);
}
..
}

...など、すべてのボタンハンドラーはメインクラスのパブリックvoidメソッドであり、各メソッドにsetContentView()は次のレイアウトがパラメーターとして含まれています。

これは悪いプログラミングスタイルだと思いますが、完全にうまく機能します。これをしても大丈夫ですか?そうでない場合、他に簡単な方法はありますか?そのようなことのために新しい活動を始めることは私にとって本当にばかげていると感じます。

4

2 に答える 2

0

通常、「アクティビティ」をアクティビティにグループ化します。あなたにとって、登録は複数の画面を使用しますが、相互にリンクされています。ViewFlipper で 1 つのアクティビティを使用することをお勧めします。

すべてに対して 1 つのアクティビティを使用すると、ユーザーのナビゲーションが台無しになります。Back キーは特別に処理する必要があります。"戻るキーの場合はこのコンテンツを設定し、そうでない場合はこのコンテンツを設定するなど"

于 2012-12-03T15:06:06.320 に答える
0

同じタイプの画面に異なるレイアウトをコーディングする場合、それは理想的なアイデアではありません。より良いアイデアは、同じレイアウトを持ち、レイアウトが同じクラスから同じレイアウトを指すことです。余分な/少ないコントロールまたは別のコントロールが必要な画面では、そのようなコントロールに一意の ID を設定します。

ID からコントロールを参照すると、1 つのレイアウト ファイルが作成されます。コントロールが同じである異なるレイアウト クラスを記述すると、コードの繰り返しが発生するため、理想的なコーディング方法ではありません。

于 2012-12-03T16:12:55.713 に答える