1

これは私のコードです。私はテキストビューを持っており、2つのボタンが受け入れて拒否します。ユーザーが承認ボタンをクリックすると、共有設定を使用してステータスを 100 として保存しました。

次回ユーザーがログインするときに、ユーザーがすでに同意ボタンをクリックしているかどうかを確認する必要があります。彼がすでに受け入れているなら、私はホームアクティビティに行くべきです。

ユーザーが同意をクリックしたら、このアクティビティを再度表示する必要はありません。

public int kill;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Toast.makeText(Eula.this, "Status of the app is "+kill, Toast.LENGTH_LONG).show();
    if(kill==100)
    {
    Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setComponent(new ComponentName("mobi.infoways.triviavs1_0","mobi.infoways.triviavs1_0.Home"));
        startActivity(intent);
    }
    setContentView(R.layout.eulatxt);
    Intent i2 = getIntent();                
    addListenerOnButton();
}
        private void addListenerOnButton() {

        TextView t = (TextView) findViewById(R.id.txtv1); 
        t.setText(f);
        Button Accept = (Button) findViewById(R.id.btn1);    
            Accept.setOnClickListener(startListener);
            Button Reject = (Button) findViewById(R.id.btn2);    
            Reject.setOnClickListener(startListener);
}

        OnClickListener startListener = new OnClickListener() 
        {
            public void onClick(View v) {

          switch (v.getId()) {
             case R.id.btn1:

                 SharedPreferences prefs = getPreferences(MODE_PRIVATE);
                 SharedPreferences.Editor editor = prefs.edit();
                 editor.putInt("storedInt",100); 
                 editor.commit();
                     kill = prefs.getInt("storedInt", 100);
                    Toast.makeText(Eula.this, "status =" + kill, Toast.LENGTH_LONG).show();
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.setComponent(new ComponentName("mobi.infoways.triviavs1_0","mobi.infoways.triviavs1_0.Home"));
                startActivity(intent);
              break;
             case R.id.btn2:
                 Toast.makeText(Eula.this, "button 2 clicked", Toast.LENGTH_SHORT).show();
          Eula.this.finish();
              break;
          }  

    };

}
4

3 に答える 3

1

以下のコードを参照してください

SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
Boolean checkforFirstTime;

sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(getApplicationContext());
editor = sharedPreferences.edit();

checkforFirstTime = sharedPreferences.getBoolean("checkforFirstTime", true);

//Checking whether application is launched first time
if (checkforFirstTime) {

    //your code
    editor.putBoolean("checkforFirstTime", false);
    editor.commit();

 } else {

 }
于 2012-07-31T07:13:30.330 に答える
1

それ以外の

SharedPreferences prefs = getPreferences(MODE_PRIVATE);

使用する

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(YourAcitivyName.this);

またonCreate()superコンストラクターが設定をロードしてkill変数を初期化した後。

super.onCreate(savedInstanceState) の横にある onCreate メソッドで kill を初期化しています。それ自体で十分かもしれません..

于 2012-07-31T06:57:10.497 に答える
0

ロード共有設定がこれを呼び出すとき:

SharedPreferences save = getSharedPreferences("login", Activity.MODE_PRIVATE);
save.getInt(variable, 0); // zero is default value if you dont have it yet saved

保存するときは、これを呼び出します。

SharedPreferences settings = getSharedPreferences("login", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("storedInt", 100);
editor.commit();
于 2012-07-31T07:18:55.367 に答える