2014-12-07 72 views
0

我寫了一個代碼,使一個下拉列表,其中有一些項目的「8」,「12」,「13」 ...等 這樣的XML:如何改變的EditText字體大小

<Spinner 
android:id="@+id/spinner" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@android:drawable/btn_dropdown" 
android:spinnerMode="dropdown" /> 

現在我有相同的佈局一個EditText有該標籤:

<EditText 
    android:id="@+id/etFName" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" > 
    <requestFocus /> 
    </EditText> 

我想要的是,當我選擇8例如EditText上的字體大小爲8,當我選擇12 EditText上的字體大小爲12依此類推......

這裏是我的Graduation.java代碼

private Spinner spinner; 
private static final String[]paths = {"item 1", "item 2", "item 3"}; 
EditText etFName; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.graduation); 
    /*spinner = (Spinner)findViewById(R.id.spinner); 
    ArrayAdapter<String>adapter = new ArrayAdapter<String> (Graduation.this,android.R.layout.simple_spinner_item,paths); 

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener((OnItemSelectedListener) this);*/ 
    Spinner dropdown = (Spinner)findViewById(R.id.spinner); 
    String[] items = new String[]{"8", "12", "16", "18", "20", "24", "28"}; 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items); 
    dropdown.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { 

      switch (position) { 
       case 0: 
        // Whatever you want to happen when the first item gets selected 
        break; 
       case 1: 
        // Whatever you want to happen when the second item gets selected 
        break; 
       case 2: 
        // Whatever you want to happen when the thrid item gets selected 
        break; 

      } 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
     } 
    }); 

我應該如何填寫評論行?

+0

'EditText#setTextSize' ... – 2014-12-07 20:14:09

回答

0

我相信你應該試試這個(我沒有):

int fontSizeInt; 
try 
{ 
    fontSizeInt = Integer.parseInt(items[position]); 
} 
catch (NumberFormatException e) 
{ 
    fontSizeInt = 12; // Default size. 
} 
etFName.setTextSize(TypedValue.COMPLEX_UNIT_SP, (float) fontSizeInt); 

int被轉換爲float。請記住,您不希望讓NumberFormatException引起您不安,但您感覺安全。

+0

是的確切:) :) thaaaank youuuu :) – 2014-12-08 00:21:34

+0

ok先生.. didee: d – 2014-12-08 00:36:41

0
etFName.setTextSize(TypedValue.COMPLEX_UNIT_SP,Integer.parseInt(items[position])); 
+0

無需開關? – 2014-12-07 20:16:42

+0

不 - 這些項目應該是以相同的方式工作,所以在這裏不需要切換 – Zielony 2014-12-07 20:20:07

+0

它不工作..它使一些例外:( – 2014-12-07 20:43:35

相關問題