在Android中使用Java将接收意图设置回默认值
FirstActivity.java在Android中使用Java将接收意图设置回默认值,java,android,Java,Android,FirstActivity.java startActivity(new Intent(FirstActivity.this, SecondActivity.class) .putExtra("passed_value", true)); @Override public void onPageFinished(final WebView view, String url) { if(getIntent().getBoolean
startActivity(new Intent(FirstActivity.this, SecondActivity.class)
.putExtra("passed_value", true));
@Override
public void onPageFinished(final WebView view, String url) {
if(getIntent().getBooleanExtra("passed_value", false)){
}
}
SecondActivity.java
startActivity(new Intent(FirstActivity.this, SecondActivity.class)
.putExtra("passed_value", true));
@Override
public void onPageFinished(final WebView view, String url) {
if(getIntent().getBooleanExtra("passed_value", false)){
}
}
从FirstActivity.java
接收到意图值后,每次重新加载都会运行if
块。但是我只需要在onPageFinished
方法中运行这个意图
那么,如何仅当来自
FirstActivity.java
时才运行if
块呢。有没有什么方法可以让我在执行if
块后将此intent值恢复为默认值?一个相当简单的方法是使用Boolean passedValue
变量,在onCreate
中用intent extra实例化,然后在if
块中设置为false。以下几点应该行得通
public class SecondActivity extends AppCompatActivity {
Boolean passedValue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
passedValue = getIntent().getBooleanExtra("passed_value", false);
//Other code things
}
@Override
public void onPageFinished(final WebView view, String url) {
if(passedValue){
//Do what you need to do
passedValue = false
}
}
}
在
SecondActivity
中,创建一个类级变量,作为boolean passed\u value=false代码>
然后在onCreate()
中,更改其值,如-passed_value=getIntent().getBooleanExtra(“passed_value”,false)代码>
最后,您可以像这样使用它-
@Override
public void onPageFinished(final WebView view, String url) {
if(passed_value){
}
}