2011-07-18 55 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”);