1

我刚刚开始Android开发。我有一个非常简单的项目。我有一个按钮和一个文本视图。当我单击按钮时,textView 的文本会更改并且按钮被禁用。这部分工作正常。但是,如果我在手机上按主页(键盘上的 Escape)并返回我的应用程序,我希望按钮保持其状态(禁用状态)。但就我而言,每次我按下 home 键并返回我的应用程序时,都会启用 Button。这是代码

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

在您的项目中使用共享首选项来存储值检查这个

于 2012-12-01T08:52:50.483 回答
0

好吧,刚刚找到了解决方案。我正在退出应用程序而不是暂停它。实际上我是按键盘上的 ESC 按钮返回主屏幕,这实际上相当于 Android 中的 BACK 按钮,在我的情况下,我想,应用程序正在退出,所以每次我再次点击应用程序图标时,onCreate事件被调用而不是 onResume。

键盘上的 BTW HOME 按钮充当 Android HOME 按钮。

于 2012-12-03T08:13:22.423 回答