在按钮上单击我想显示一个Toast消息

时间:2012-09-06 05:53:21

标签: java android

我希望此消息仅在此按钮被单击的前三次显示,并且在此之后,即使应用程序重新启动,我也想知道实现它的最佳方法。我打算创建一个数据库并在按下按钮时在该数据库中输入值,并将我的toast逻辑放在if语句中。我想知道在没有使用数据库的情况下是否有更好的方法。

4 个答案:

答案 0 :(得分:3)

如果更好的意思是更容易,那么您可以使用SharedPreferences机制。

共享首选项基本上是一个属性集,对于整个活动是通用的,或者可以由每个活动单独使用。

class Listener implements OnClickListener{
    final private SharedPreferences prefs;
    Listener(SharedPreferences prefs){
         this.prefs=prefs;
    }
    public void onClick(View view) {
        int count = prefs.getInt("toastCount",0);
        if(count>=3) return;
        //do something else here
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("toastCount", count+1);
        editor.commit();
    }
}

您可以使用活动中的getPreferences()getSharedPreferences()方法启动此列表工具

答案 1 :(得分:1)

我认为Shared Preferences比DB好。

您只需在共享Prefernces中添加count(int)即可。

答案 2 :(得分:0)

您可以使用此代码:

button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {

        Toast.makeText(app.getBaseContext(),"Your message", 
            Toast.LENGTH_SHORT).show();
}

});

答案 3 :(得分:0)

考虑将数据保存在内存中的某个位置。像这样的琐碎数据不应该进入数据库。这将是一个糟糕的决定。