0

環境設定にEditTextがあり、レイアウトにもEditTextがあります。したがって、環境設定から文字列を取得し、ボタンをクリックしたときにEditTextに使用したいと思います。次のように試しました。

public class MainActivity extends Activity{

     SharedPreferences sharedPreferences;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(getBaseContext());
}
//OnClick method
public void Button(View view) {
EditText et1 = (EditText) findViewById(R.id.edittext);
            String string = sharedPreferences
                    .getString("ime", "default");
            et1.setText(String.valueOf(string));
}

と私の設定xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <EditTextPreference android:title="Uredi Text"
        android:key="ime"
        android:summary="ime pjesme"

        />


</PreferenceScreen>

そして、ボタンをクリックするたびに、テキストの編集テキストが「デフォルト」になります

4

1 に答える 1

0

直接使用しないでくださいgetBaseContext()-「ローカルコンテキスト」を使用します。これは、あなたの場合はアクティビティです(アクティビティは Context を拡張するため)。したがって、コード例では、次のように置き換えますthis

    sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences( this );
于 2012-11-17T16:24:34.307 に答える