传递一个将其值设置为在另一个类中使用的简单变量的正确方法是什么?我有一个计数器,按下按钮递增,当counter = 3时,调用一个方法,该方法加载另一个活动,该活动加载另一个屏幕,其中一个字符串表示按下按钮。这里是我想要包含从前一个类中的计数器变量传递的数字3的地方,但我不确定这样做的正确方法。 我尝试创建类的实例并以这种方式连接到变量,但是值永远不会传递,它始终为0.
答案 0 :(得分:8)
尝试以下代码,
public class First
{
private static int myVarible = 0;
private void myMethod()
{
myVariable = 5; // Assigning a value;
}
public static int getVariable()
{
return myVariable;
}
}
public class Second
{
int i = First.getVariable(); // Accessing in Another class
}
答案 1 :(得分:5)
您可以通过Intent - resource bundle传递值。
传递当前活动的值,
Intent intent=new Intent(this,ResultActivity.class);
intent.putExtra("no",10);
startActivity(intent);
并在ResultActivity(onCreate)中,
Bundle bundle=getIntent().getExtras();
int value=bundle.getInt("no");
如果是非活动类,您可以定义一个公共方法。
例如,
public Integer getValue() //returns a value
{
return 10;
}
或者
public void setValue(Integer value)
{
...
}
答案 2 :(得分:1)
实现这一目标的一种方法是建立新的意图:
Intent itn = new Intent(...,...);
itn.putExtra(KEY,VALUE);
startctivity(itn);
在另一个班级做类似的事情:
this.getIntent.getStringExtra(KEY);
or
this.getIntent.getWHATEVERYOURVARIABLEWASExtra(KEY);
希望它对你有所帮助,这是在两个活动之间传递参数的更好方法:)
答案 3 :(得分:1)
您也可以通过在一个活动中将变量定义为“静态”,在第二个活动中使用该变量并使用<<classname>>.<<variableb>>
<强>例如:强>
<强>活性1:强>
静态var = 5;
<强>活性2:强>
的System.out.println(Activity1.var);
答案 4 :(得分:1)
您可以使用意图传递该值
Intent new_intent=new Intent(this,SecondActivity.class);
intent.putExtra("counter",10); //here the value is integer so you use the new_intent.putExtra(String name,int value)
startActivity(new_intent);
在第二个活动类中,您可以使用Bundle
获取该值Bundle bundle = getIntent().getExtras();
int count = bundle.getInt("counter");
我认为这可能对你有所帮助。