如何在android中将一个类的透明变量值转换成另一个类
嗨,我在这里做一个应用。用户单击按钮一次意味着在另一个活动中我需要执行一个操作,用户再次返回同一页面,单击同一按钮意味着我需要执行不同的操作。我在activity1中执行2个活动我有1个按钮,我在activity1按钮中使用一个计数变量单击该时间我递增了计数变量,使用putextra我在此处根据计数将该计数值输入Activity2我执行操作,但计数一次是递增的,如果我回到同一个活动1,然后我单击按钮,该按钮的计数也仅为“1”,它不会增加到2。因此,如何解决这个问题,任何有想法的人都会向我提出建议如何在android中将一个类的透明变量值转换成另一个类,android,android-emulator,Android,Android Emulator,嗨,我在这里做一个应用。用户单击按钮一次意味着在另一个活动中我需要执行一个操作,用户再次返回同一页面,单击同一按钮意味着我需要执行不同的操作。我在activity1中执行2个活动我有1个按钮,我在activity1按钮中使用一个计数变量单击该时间我递增了计数变量,使用putextra我在此处根据计数将该计数值输入Activity2我执行操作,但计数一次是递增的,如果我回到同一个活动1,然后我单击按钮,该按钮的计数也仅为“1”,它不会增加到2。因此,如何解决这个问题,任何有想法的人都会向我提出建议
Activity1 .class:
public class Activity1 extends Activity implements OnClickListener{
Button b1,b2;
int countk4=0;
SharedPreferences share;
String bol3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.home1);
b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==b1)
{
countk4++;
share=getSharedPreferences("shared", MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor=share.edit();
editor.putInt("roll", countk4);
editor.commit();
show();
Intent i=new Intent(Activity1 .this,Activity2.class);
i.putExtra("k", 1);
i.putExtra("k1", 13);
i.putExtra("ks", val1);
startActivity(i);
}
}
Integer val1,val2;
private void show() {
// TODO Auto-generated method stub
share=getSharedPreferences("shared", MODE_WORLD_READABLE);
val1=share.getInt("roll",0);
}
}
Activity2 .class:
public class Activity2 extends Activity implements OnClickListener{
Button back;
int countkv;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.home2);
back=(Button)findViewById(R.id.button1);
back.setOnClickListener(this);
countkv = getIntent().getIntExtra("ks", 0);
if(countkv =1)
{
Toast.makeText(getApplicationContext(), "hai.......i am first", Toast.LENGTH_LONG).show();
}
if(countkv =2)
{
Toast.makeText(getApplicationContext(), "hai.......1 am second", Toast.LENGTH_LONG).show();
}
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==back)
{
Intent i=new Intent(Activity2.this,Activity1.class);
startActivity(i);
}
}
}
}
but above every time first toast message displayed becz countkv is every time 1 only..
在接收端制作一个
包的对象
Bundle myBundle = new Bundle(); // Declare above
String temp;
myBundle = getIntent().getIntExtra();
temp = myBundle.getString("ks"); // temp will have the val1.
希望您现在就可以得到它。thaks为了您的回答,这里我从activity1到activity2获取值prblm是如果用户再次返回activity2到activity1,时间计数变量refereshed,因此计数“0”中的时间存在,“1”被删除,因此如果我再次单击按钮,计数也将仅增加到1而不是2。那是我的prblm@user1089640:然后将变量声明为公共静态修饰符。尝试这个链接->thakyou,我用了很多公共int countk4,但现在我用了公共静态int countk4,现在我得到了结果