0

こんにちは、私は .getprogress を使用して SeekBar によって与えられる整数を取得しようとしています。これは設定によって保存され、アプリケーションの別の側にあるトースト コードに移動して物事を簡単にします。私のコードはすでに。

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.SeekBar.OnSeekBarChangeListener;
import tk.mizzeeboy.freestorageconverter.R;

public class SettingsActivity extends Activity{

    SeekBar cl;
    TextView t;
    String lolly , finlly;
    int hehe;

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

        cl = (SeekBar) findViewById(R.id.seekB3r1);
        t = (TextView) findViewById(R.id.textV3w1);

        cl.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
                // TODO Auto-generated method stub

                t.setTextSize((cl.getProgress()) * getResources().getDisplayMetrics().density);
                hehe = cl.getProgress(); 
                finlly.valueOf(hehe);

                SharedPreferences mypreferences = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = mypreferences.edit();
                editor.putString("TeamName", finlly);
                editor.commit();

            }
        });

    }

}

私の他の活動では、それを開いて読みたいと思っています。

SharedPreferences mypreferences = getApplicationContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
              String teamnamestring = mypreferences.getString("TeamName", "Please Enter :)"); 
            Toast andEggs = Toast.makeText(BitActivity.this, teamnamestring , Toast.LENGTH_SHORT);
            andEggs.show();

しかし、私の問題は、毎回サインを入力してくださいを取得していて、整数を取得できないことです。誰か助けてもらえますか?

4

1 に答える 1

0

TGMCians が言っていることは、あなたが好みのheheように入れているということです (最初のアクティビティでは、他のアクティビティのようにそれを取得します( )。これは原因になります。最初からとして置くか、2 番目のアクティビティで.Inteditor.putInt("TeamName", hehe);),Stringmypreferences.getString("TeamName",...ClassCastExceptionStringInt

試す:

    int val=mypreferences.getInt("TeamName",-1);
String teamnamestring="";
if(val==-1){
teamnamestring="Please Set Up Your Custom Text Size!";}
else {teamnamestring=String.ValueOf(val);}

Toast andEggs = Toast.makeText(BitActivity.this, teamnamestring , Toast.LENGTH_SHORT);
            andEggs.show();
于 2013-03-31T13:14:23.720 に答える