2012-05-04 13 views
0

こんにちは、私はリストビューを持っていますし、アイテムを押したときにあなたの選択を共有設定に保存するようにしたいと思います。これは、次にアプリケーションを開くときに、選択プロセスをスキップするためです。Androidの設定を保存する

私が知りたいことは、この関数を自分のコードに組み込む方法です。ここで

は、これまでの私のコードです:

あなたの活動ののonCreate()で
public class SelectTeamActivity extends ListActivity { 
     public String fulldata = null; 
     public String position = null; 
     public String divisionName= null; 
     public List<String> teamsList = null; 
     public String divName = null; 

    protected void loadData() { 
     fulldata = getIntent().getStringExtra("fullData"); 
     position = getIntent().getStringExtra("itemIndex"); 

     Log.v("lc", "selectteamActivity:" + fulldata); 
     Log.v("lc", "position:" + position); 

     int positionInt = Integer.parseInt(position); 

     try{ 
      JSONObject obj = new JSONObject(fulldata); 
      teamsList = new ArrayList<String>(); 
      JSONObject objData = obj.getJSONObject("data"); 

      JSONArray teamInfoArray = objData.getJSONArray("structure"); 

      for(int r = 0; r < teamInfoArray.length(); r++){ 
       JSONObject teamFeedStructureDict = teamInfoArray.getJSONObject(r); 
       JSONArray teamStructureArray = 
         (JSONArray) teamFeedStructureDict.get("divisions"); 

       JSONObject teamFeedDivisionsDictionary = 
         teamStructureArray.getJSONObject(positionInt); 
       divName = teamFeedDivisionsDictionary.getString("name"); 

       JSONArray teamNamesArray = 
          (JSONArray) teamFeedDivisionsDictionary.get("teams"); 

       for(int t = 0; t < teamNamesArray.length(); t++){ 
        JSONObject teamNamesDict = teamNamesArray.getJSONObject(t); 
        teamsList.add(teamNamesDict.getString("name")); 
       } 
      } 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.selectact); 
     loadData(); 

     TextView headerText = (TextView) findViewById(R.id.header_text); 
     headerText.setText(divName); 
     TextView redHeaderText = (TextView) findViewById(R.id.redheadertext); 
     redHeaderText.setText("Please select your team:"); 

     setListAdapter(new ArrayAdapter<String>(this, R.layout.single_item, 
                teamsList)); 

     ListView list = getListView(); 

     list.setTextFilterEnabled(true); 
    } 

    @Override 
    protected void onListItemClick (ListView l, View v, int position, long id) { 
     Intent intent = new Intent(this, HomeActivity.class); 
    String curPos = Integer.toString(position); 

     //or just use the position: 
     intent.putExtra("itemIndex", curPos); 
     intent.putExtra("fullData", fulldata); //or just the part you want 
     startActivity(intent); 
    } 
} 

答えて

3

:あなたのonListItemClickで

SharedPreferences preferences = getSharedPreferences("preferences", MODE_WORLD_WRITEABLE); 

():

プロジェクト内のどこ
preferences.edit().putInt("KEY", position).commit(); 

int position = preferences.getInt("KEY", -1); 

(-1は、指定されたキーに値がない場合は、この値を返します)

関連する問題