1

Androidの開発を始めたばかりです。私は非常に単純なプロジェクトを持っています。ボタンとテキストビューがあります。ボタンをクリックすると、textViewのテキストが変更され、ボタンが無効になります。この部分は正常に機能しています。ただし、電話でホーム(キーボードでエスケープ)を押してアプリに戻った場合でも、ボタンの状態(無効状態)を維持したいと思います。しかし、私の場合、ホームを押してアプリに戻るたびにボタンが有効になります。これがコードです

package com.mypack.textmanipulation;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;

public class MainActivity extends Activity {

    private Button btnChangeText;
    private boolean check;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnChangeText = (Button)findViewById(R.id.btnChangeText);
        check = true;

        setButtonOnClickInterface();

    }

    @Override
    protected void onResume()
    {
        super.onResume();
        checkButtonIsEnabled();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    private void setButtonOnClickInterface()
    {

        btnChangeText.setOnClickListener(new View.OnClickListener() 
        {

            @Override
            public void onClick(View v) 
            {

                    // TODO Auto-generated method stub
                    TextView txtView = (TextView)findViewById(R.id.textView1);
                    txtView.setText("Text Changed");
                    btnChangeText.setEnabled(false);
                    check = false;
            }
        });

    }

    private void checkButtonIsEnabled()
    {
        if (check)
        {
            btnChangeText.setEnabled(true);

        }
        else
        {
            btnChangeText.setEnabled(false);
        }
    }


}

提案は大歓迎です。ありがとう

4

2 に答える 2

0

さて、解決策を見つけました。一時停止するのではなく、アプリを終了していました。実際、私はキーボードのESCボタンを押してホーム画面に戻りました。これは実際にはAndroidの戻るボタンと同じです。私の場合はアプリが終了していたので、アプリアイコンをもう一度タップするたびにonCreate onResumeの代わりにイベントが呼び出されます。

ところで、キーボードのHOMEボタンはAndroidのHOMEボタンとして機能します。

于 2012-12-03T08:13:22.423 に答える
0

プロジェクトで共有設定を使用して値を保存しますこれを確認してください

于 2012-12-01T08:52:50.483 に答える