2013-09-01 5 views
-1

회 전자를 사용하고 있습니다. 회 전자가 잘 작동하지만 회 전자의 항목을 저장하지 않습니다. 예를 들어 내 텍스트를 font2로 선택하면 내 텍스트 글꼴이 변경되고 다음으로는 내 변경 사항이 저장됩니다. font1 내 코드는 가까운 내 프로그램 후 : 내가 추가 코드에 항목은 회 전자에 내가 addapt이 코드에내 회 전자 항목을 저장하는 방법

package com.testfont.test; 

import java.util.ArrayList; 
import java.util.List; 
import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.Spinner; 

public class font extends Activity { 
public static String font="tahoma.ttf"; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 

     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.font); 
     final List<String> list = new ArrayList<String>(); 

     String item1 = "font1"; 
     String item2 = "font2"; 
     //String item3 = "فونت سه"; 


     list.add(item1); 
     list.add(item2); 
     //list.add(item3); 


     Arrayadapt ad = new Arrayadapt(getApplicationContext(), 0, list); 
     Spinner sp = (Spinner)findViewById(R.id.spinner1); 
     sp.setAdapter(ad); 

     sp.setOnItemSelectedListener(new OnItemSelectedListener() { 


      @Override 
      public void onItemSelected(AdapterView<?> parent, View selectedItemView, 
        int position, long id) { 
       // TODO Auto-generated method stub 
       //boolean selected = false; 
       if(position == 0){ 
        font="tahoma.ttf"; 
       }else if(position == 1){ 
        font="QuranTaha.ttf"; 
       }    
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 

     }); 

} 
     // TODO Auto-generated method stub 

public String getFont() { 
    // TODO Auto-generated method stub 
    return font; 
} 
} 

을 스피너하는

package com.testfont.test; 

import java.util.List; 
import android.content.Context; 
import android.graphics.Typeface; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 

public class Arrayadapt extends ArrayAdapter{ 


Typeface tf; 
List<String> _list; 
Context context; 
LayoutInflater mInflater; 

    public Arrayadapt(Context _context, int _resource, 
      List<String> _items) { 
     super(_context, _resource, _items); 
     // TODO Auto-generated constructor stub 
     this.context = _context; 
     this.tf = Typeface.createFromAsset(_context.getAssets(),"font/Yekan.ttf"); 
     this._list = _items; 
     this.mInflater = LayoutInflater.from(context); 
    } 


    public View getView(int position, View convertView, ViewGroup parent) { 

     LayoutInflater inflater = mInflater; 
     View row = inflater.inflate(R.layout.tspinner, parent, 
       false); 
     TextView v = (TextView) row.findViewById(R.id.textView1); 
     v.setTypeface(tf); 
     v.setText(Farsi.Convert(_list.get(position))); 
     return row; 
    } 


    public View getDropDownView(int position, View convertView, ViewGroup parent) { 

     LayoutInflater inflater = mInflater; 
     View row = inflater.inflate(R.layout.tspinner, parent, 
       false); 
     TextView v = (TextView) row.findViewById(R.id.textView1); 
     v.setTypeface(tf); 
     v.setText(Farsi.Convert(_list.get(position))); 
     return row; 
    } 
} 

답변

0

A). 회 전자에있는 항목이 정적 인 경우. SharedPreferences를 사용할 수 있습니다. http://developer.android.com/training/basics/data-storage/shared-preferences.html

예를 들어, onPause 함수에서 스피너 위치를 저장하고 onResume 함수에서 스피너 위치를로드 할 수 있습니다.

b). 당신의 항목이 다이나믹이라면. 항목과 회 전자 위치를 저장하기 위해 sqlite를 사용할 수 있습니다. http://developer.android.com/training/basics/data-storage/databases.html

관련 문제