如何在android中将一个类的透明变量值转换成另一个类

如何在android中将一个类的透明变量值转换成另一个类,android,android-emulator,Android,Android Emulator,嗨,我在这里做一个应用。用户单击按钮一次意味着在另一个活动中我需要执行一个操作,用户再次返回同一页面,单击同一按钮意味着我需要执行不同的操作。我在activity1中执行2个活动我有1个按钮,我在activity1按钮中使用一个计数变量单击该时间我递增了计数变量,使用putextra我在此处根据计数将该计数值输入Activity2我执行操作,但计数一次是递增的,如果我回到同一个活动1,然后我单击按钮,该按钮的计数也仅为“1”,它不会增加到2。因此,如何解决这个问题,任何有想法的人都会向我提出建议

嗨,我在这里做一个应用。用户单击按钮一次意味着在另一个活动中我需要执行一个操作,用户再次返回同一页面,单击同一按钮意味着我需要执行不同的操作。我在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,现在我得到了结果