gpt4 book ai didi

Android setOnClickListener 改变 Intent putExtra

转载 作者:行者123 更新时间:2023-11-30 00:53:24 25 4
gpt4 key购买 nike

我在 onCreate 中有以下代码(有效):

mybutton.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
try{
Intent myIntent = new Intent(view.getContext(), WebView.class);
myIntent.putExtra("choice", buttonclick_url);
startActivityForResult(myIntent, 0);
} catch (Exception e) {}
}
});

buttonclick_url 包含要在 WebView 类上加载的 url。我希望这个 url 可以根据发生的某些事情进行更改。但是,如果不将它们设置为“最终”,我无法在 onClick 中声明任何内容,因为所有这些都在 onCreate 方法期间进行了初始化和设置,因此无法更改。

有什么方法可以使 buttonclick_url 可变,这样即使按钮已在 onCreate 中初始化后我也可以加载我想要的任何 url?

非常感谢任何帮助。谢谢!

最佳答案

当然,您可以使用全局变量,但我认为最好使用方法,这样您的最终代码将类似于类似的代码段:

mybutton.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
try{
Intent myIntent = new Intent(view.getContext(), WebView.class);
myIntent.putExtra("choice", getUrlForMyButton(view.getTag()));
startActivityForResult(myIntent, 0);
} catch (Exception e) {}
}
});


public string getUrlForMyButton(string s)
{
//TODO
}

显然,如果您只对那个按钮使用该方法,则不需要传递包含 标签 的参数。

这是一个全局变量的例子

public class MainActivity extends AppCompatActivity {
private string MyUrl;


mybutton.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
try{
Intent myIntent = new Intent(view.getContext(), WebView.class);
myIntent.putExtra("choice", MyUrl);
startActivityForResult(myIntent, 0);
} catch (Exception e) {}
}
});

}

希望对您有所帮助!

关于Android setOnClickListener 改变 Intent putExtra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40575832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com