2

私はJava/Androidプログラミングを学ぼうとしている初心者です。

私はEclipseでAndroid用のアプリを作成していて、いくつかのボタンを作成しました。戻るボタンとキャンセルボタンがあります。

例:

私はあなたがあなたの名前で書くことができるそこにEditTextを持っています。名前を入力して戻るボタンを押すと、uは前のアクティビティに戻りますが、同じアクティビティに移動すると、EditTextに書き込んだ名前が引き続き表示されます。

ただし、キャンセルボタンを押すと前のアクティビティに戻りますが、戻ると名前は空になります。アクティビティを「殺す」または「停止」します。

これは私が戻るボタンに使用するコードですが、キャンセルボタンには何を使用しますか?ありがとうございました。

public void onClick(View v) {
    switch(v.getId()){
    case R.id.buttonBack:
        Intent intent = new Intent (AllActivity.this, MenuActivity.class);
        startActivity(intent);
        break;
4

3 に答える 3

2

キャンセルボタンの場合、以下の方法を使用できます。これにより、アクティビティが強制終了されます。

 finish()

したがって、コードでは次のようになります。

 public void onClick(View v) {
     switch(v.getId()){
     case R.id.cancel:
         finish();
         break;
于 2013-03-25T10:12:49.973 に答える
1

プロセスまたはアプリケーションフローの要件に従って、これにはほとんど違いがありませんでした。たとえば、ダイアログを開いてキャンセルボタンを指定すると、戻るボタンと同じようにダイアログが閉じたり閉じたりします。アクティビティを使用して実装する場合、現在のアクティビティを閉じるために実装する場合は、finish()メソッドを呼び出すだけで両方のオプションを終了できます。戻るボタンは通常、現在のアクティビティを終了して戻るために機能していました。

于 2013-03-25T10:18:07.770 に答える
1

興味があるかもしれないこれを行う別の方法は、EditTextのコンテンツを自分で一掃することです。プログラムでアクセスできるように、XMLファイルにEditText用に定義されたIDを含める必要があります。

<EditText

ここにレイアウトのもの:

    android:layout_width="fill_parent"

...そしてid属性

    android:id="@+id/edit_text_id"
    >

次に、コードで次のものをクラスに配置します(メソッド内ではありません)。

EditText anEditText;

次に、onCreate()で、レイアウトを膨らませた後(事前に設定すると、アプリがクラッシュします):

anEditText = (EditText) findViewById(R.id.edit_text_id);

edit_text_idという名前は重要ではありませんが、レイアウトファイルで使用したものです。

次に、キャンセルのためにonClickメソッドに追加します(caseステートメントの後):

//this wipes the text from the textbox
anEditText.setText("");
// add the rest of the back button code after this and your good!

頑張ってください!私たち全員がかつては初心者だったことを忘れないでください。優れたAndroidプログラマーになりたい場合は、最初にJavaの強力なバックグラウンドを取得することをお勧めします。この無料の本は私をとても助けてくれました!

Javaノート

于 2013-03-26T03:31:28.167 に答える