[英]I want to set a value in textField and not being able to change this value, only possible to insert new values. (kotlin)
[英]in onStart() i want to set new values
public class MainActivity extends ActionBarActivity {
Button b1;
TextView tv2;
Integer count ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
count++;
b1= (Button)findViewById(R.id.b1);
tv2=(TextView)findViewById(R.id.tv2);
tv2.setText(count);
if(count == 5) {
Intent ii = new Intent(this,Activity2.class );
Bundle bb = new Bundle();
bb.putInt("Count",count);
ii.putExtras(bb);
startActivity(ii);
finish();
}
else
{
Intent iii = new Intent(this,activity3.class);
// Bundle bb1 = new Bundle();
startActivity(iii);
}
}
public void onStart()
{
Bundle b33 = getIntent().getExtras();
count=b33.getInt("count");
tv2.setText(count);
}
在此代码中,我想计算一个活动被打开的次数,在这种情况下,activity1将仅打开5次,而在该活动3之后,它将打开正在试图杀死该活动1的内容,然后杀死向该活动2发送计数值的活动,之后我再次调用activity1并再次将计数值发送到activity1,所以代码将从头开始执行,因此该值将再次为1,但我希望activity1捕获oncreate()或onstart()中count的新值
和错误是该应用程序未打开其强制关闭,并在logcat中显示了Null-exception错误,尽管我做了所有绑定。
在onStart()方法中尝试此代码
public void onStart()
{
Bundle b33 = getIntent().getExtras();
if(b33 != null)
{
count=b33.getInt("count");
tv2.setText(count);
}
}
更改:
整数计数;
至
int count=0;
也改变:
tv2.setText(count);
到(同时在onCreate和onStart上):
tv2.setText(String.valueOf(count));
更新的代码:
public class MainActivity extends ActionBarActivity {
Button b1;
TextView tv2;
int count = 0 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
count++;
b1= (Button)findViewById(R.id.b1);
tv2=(TextView)findViewById(R.id.tv2);
tv2.setText(String.ValueOf(count));
if(count == 5) {
Intent ii = new Intent(this,Activity2.class );
Bundle bb = new Bundle();
bb.putInt("Count",count);
ii.putExtras(bb);
startActivity(ii);
finish();
}
else
{
Intent iii = new Intent(this,activity3.class);
// Bundle bb1 = new Bundle();
startActivity(iii);
}
}
public void onStart()
{
super.onStart();
Bundle b33 = getIntent().getExtras();
if(b33 != null)
{
count=b33.getInt("count");
tv2.setText(String.valueOf(count));
}
}
我尝试了此代码及其工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.