2011-07-18 32 views
0

我試圖改變一個TextView,看起來像這樣的TextView的屬性:安卓:在不同的活動更改一個TextView

textview properties

在一個單獨的活動,看起來像這樣:

Activity

我試圖用捆綁包做這件事,但我無法讓它工作。 這是我BookActivity的樣子:(我挑章字符串中的微調,並且工作得很好)

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.book_activity); 

    //this is where the size property comes in 
    Integer size = getIntent().getExtras().getInt("SGRkey"); 
    TextView test2 = (TextView) findViewById(R.id.booktext); 
    test2.setTextSize(size); 

    Spinner spinner = (Spinner) findViewById(R.id.kapitelspinner); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.kapitel_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); 


} 
    public class MyOnItemSelectedListener implements OnItemSelectedListener { 

     public void onItemSelected(AdapterView<?> parent, 
      View view, int pos, long id) { 
      Toast.makeText(parent.getContext(), 
       parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); 

      final String[] theporn = getResources().getStringArray(R.array.allkapitel); 



      TextView text = (TextView) findViewById(R.id.booktext); 
      text.setText(theporn[pos]); 


     } 

     public void onNothingSelected(AdapterView parent) { 
      // Do nothing. 
     } 

這是我SettingsActivity看起來像:

public class SettingsActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.settings_view); 

    Spinner SGRspinner = (Spinner) findViewById(R.id.schriftgroeße_spinner); 
    ArrayAdapter<CharSequence> SGRadapter = ArrayAdapter.createFromResource(
      this, R.array.schriftgroesse_list, android.R.layout.simple_spinner_item); 
    SGRadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    SGRspinner.setAdapter(SGRadapter); 

} 


public class SGROnItemSelectedListener implements OnItemSelectedListener { 

    public void onItemSelected(AdapterView<?> parent, 
     View view, int pos, long id) { 

     Intent answer = new Intent(); 


     Toast.makeText(parent.getContext(), 
      parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); 



     final String[] SGRstring = getResources().getStringArray(R.array.schriftgroesse_list); 
     int SGRint = Integer.parseInt(SGRstring[pos]); 

     Bundle size = new Bundle(); 
     size.putInt("SGRkey", SGRint); 
     Intent nextActivity = new Intent(com.asm.reader.SettingsActivity.this, com.asm.reader.BookActivity.class); 
     nextActivity.putExtras(size); 

     com.asm.reader.SettingsActivity.this.startActivity(nextActivity); 

    } 

    public void onNothingSelected(AdapterView parent) { 
     // Do nothing. 
    } 


} 

我嘗試此操作時出現錯誤。所有活動都在清單中聲明。我真的不知道如何繼續。我對此很新,很抱歉,如果這是簡單的,但任何幫助將不勝感激! :-)

回答

5

使您的textview保持靜態。也就是說,將其聲明爲公共靜態類變量。然後,您可以直接從其他活動中調用它,例如:firstActivity.myTextView.setText(「foo」);