我在oncreate中有一个变量'position'的值,我使用getIntent()从不同的活动中得到它。现在我想用另一种方法来使用这个位置的值。
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tatslideshow);
Intent j = getIntent();
int position = j.getExtras().getInt("pos");
}
我希望在这个方法中使用位置
public void updateUI() {
int imgid[] = alltats[position];
.
.
.
}
现在我知道我可以通过在updateUI()中放置参数来传递值,如updateUI(position)并使用它。但问题是我在我的类中也有一个子类,我调用这个方法所以我不能把参数放在updateUI()中。这是子类:
class RefreshHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
TatSlideShow.this.updateUI();
}
}
TatSlideShow是主要类。请告诉我实现它的方法。
答案 0 :(得分:1)
您可以直接从getIntent().getExtras().getInt("pos")
致电updateUI()
,因为updateUI()
是您的活动的非静态方法。
答案 1 :(得分:1)
我担心您必须使用参数和方法,因为您已经知道...因为方法中的变量范围在方法块本身内。 否则,一旦它们离开它们就会被销毁。
否则,您必须直接在UpdateUI方法中使用变量位置,如。
public void updateUI()
{
position=getIntent().getExtras().getInt("pos");
int imgid[] = alltats[position];
}