2012-04-15 36 views
0

带按钮的主要活动我想更改。它应该导入用户什么放在EditText上从其他活动:让用户输入Android上的按钮名称

@Override 
protected void onResume() { 
    super.onResume(); 

    class1.setText(this.getButtonText()); 
} 

public String getButtonText() 
{ 
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    String buttonText = prefs.getString("ButtonText", "Default Button Test"); 
    return buttonText; 
} 

活动与编辑文本和一个按钮,用户返回到主页。我试图使用共享的喜好,但我不知道如何做到这一点?:

Button class1; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.editclass1); 

     SettingButtons(); 
     class1.setOnClickListener(this); 

} 


private void SettingButtons() { 
    // TODO Auto-generated method stub 
    class1 = (Button) findViewById(R.id.edittoclass1); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch(v.getId()){ 
    case R.id.edittoclass1: 
     startActivity(new Intent("com.clayton.calendar.TOCLASS")); 
    break; 

    } 
} 






protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    Editor editor = prefs.edit(); 
    editor.putString("ButtonText", // This is not working 
      ((TextView)findViewById(R.id.edittoclass1)).getText().toString()); 
    editor.commit(); 
    } 

}

回答

0

创建一个包含一个EditText一个新的活动。当用户长时间点击源活动中的按钮时,请将它们带到这个新活动中。在新活动的onPause中,将EditText的文本保存为共享首选项中的值。然后,在源活动的onResume中,从共享首选项中获取值,并将按钮文本值设置为此值。

下面是一些代码,你需要的编辑按钮文本活动的onPause一个例子:

@Override 
protected void onPause() { 
    super.onPause(); 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    Editor editor = prefs.edit(); 
    editor.putString("ButtonText", ((TextView)findViewById(R.id.buttonText)).getText().toString()); 
    editor.commit(); 
} 

这里有您需要在您的源/原活动代码的例子:

@Override 
protected void onResume() { 
    super.onResume(); 

    button.setText(this.getButtonText()); 
} 


public String getButtonText() 
{ 
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    String buttonText = prefs.getString("ButtonText", "Default button text"); 
    return buttonText; 
} 
+0

这样做,但它仍然不工作?它不会更改主要活动的按钮名称。我的新代码已更改 – user1334858 2012-04-20 22:14:07

+0

EditClass1中的哪个位置可以保存EditText中的值? – 2012-04-20 22:45:19

+0

我忘了它的一部分。 – user1334858 2012-04-20 22:59:53