从另一个类更改一个类中的字符串。 Android的

时间:2015-01-18 16:02:18

标签: java android string class

所以我试图在类Favoutires中更改字符串的值(它被称为“string1”)。

我正在使用以下代码。 任何想法为什么它不起作用,也许会起作用?

String Athenry = "Athenry";

                Favourites favourites = new Favourites();
                favourites.string1 = Athenry;

以下是我的收藏夹类

public class Favourites extends ActionBarActivity {

    String string1;
    String st2;
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fav);
        final Button but1 = (Button) findViewById(R.id.button1);

3 个答案:

答案 0 :(得分:2)

一种方法是使String string1静态

public class Favourites extends ActionBarActivity {

 public static  String string1;
String st2;
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fav);
    final Button but1 = (Button) findViewById(R.id.button1);

Favourites.string1 = Athenry;

答案 1 :(得分:2)

因为您确实为变量string1声明了访问修饰符。它默认是私有的。你必须像这样公开:

public String string1;

但这是一种不好的做法。您可能想要为这些类型的工作安装getter和setter。基本上就是这样:

private String string1;
public String setString1(String s){
string1 = s;
}

您可以通过调用方法

来访问它
Object.setString("Your String");

答案 2 :(得分:0)

你可以为该字符串制作一个setter

public class Favourites extends ActionBarActivity {
String string1;
public void setString1(String value){
      string1=value;
}

然后在需要时调用

String Athenry = "Athenry";

            Favourites favourites = new Favourites();
            favourites.setString1(Athenry);