2015-05-07 102 views
-3

我試圖用數據SharedPrefrences但我得到這個錯誤保存:錯誤:(26,36)錯誤:無法找到符號方法getActivity()

錯誤:(26,36)錯誤:無法找到符號方法getActivity()

我需要導入一些東西嗎?

這是我的java文件:

package test.test; 

import android.content.Context; 
import android.content.SharedPreferences; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 


public class MainActivity extends ActionBarActivity { 

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

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

Context context = getActivity(); 
SharedPreferences sharedPref = context.getSharedPreferences(
     getString(R.string.preference_file_key), Context.MODE_PRIVATE); 

/**@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
}**/ 
} 
+1

除此之外,調用'getActivity'甚至沒有在一種方法 – Reimeus

回答

2

你甚至都不需要做到這一點:

Context context = getActivity(); 

Activity的上下文。

只要做到:

Context context = this; 

或者只是:

SharedPreferences sharedPref = this.getSharedPreferences(
    getString(R.string.preference_file_key), Context.MODE_PRIVATE); 

甚至只是:

SharedPreferences sharedPref = getSharedPreferences(
    getString(R.string.preference_file_key), Context.MODE_PRIVATE); 
從下面的答案
+0

謝謝。但是爲什麼我的問題得到3分降低? – bob

+0

現在它說:錯誤:(27,31)錯誤:無法找到符號變量preference_file_key。對不起,這樣的小白,但我在這裏做什麼? – bob

+0

現在我很困惑。因爲我得到了3個贊成票,所以我不能再提出另一個問題了? – bob

2

你並不需要調用getActivity()的活動中,只要使用this或者完全跳過它,並呼籲getSharedPreferences

+0

請解釋downvotes! –

+0

我沒有倒下任何人。不要責怪我 –

+0

對不起,我的意思是誰會低估你的回答,解釋他們爲什麼這樣做,但他們似乎已經收回了。 –