[英]How to Open a link on button click From a Default Activity other than Main Activity in Android Studio?
我正在尝试将链接分配给除主要活动之外的另一个活动中的按钮。 我尝试使用 Intent 和 Uri.parse,但应用程序一直崩溃。 另一方面,如果我在 Main Activity 中的按钮上使用 Intent 和 Uri.pase 它工作正常。 有人可以帮我吗?
这是 MainAcitivity 和“信息”按钮按下它带我到一个新的活动。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button info;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info = (Button) findViewById(R.id.info);
info.setOnClickListener(this);
SectionsPagerAdapter sectionsPagerAdapter = new
SectionsPagerAdapter(this, getSupportFragmentManager());
ViewPager viewPager = findViewById(R.id.view_pager);
viewPager.setAdapter(sectionsPagerAdapter);
TabLayout tabs = findViewById(R.id.tabs);
tabs.setupWithViewPager(viewPager);
}
public void onClick(View view) {
if (view.getId() == R.id.info) {
Intent intent = new Intent(".Options");
startActivity(intent);
}
}
}
第二个活动的代码如下:
public class Options extends AppCompatActivity implements View.OnClickListener {
Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
button=(Button)findViewById(R.id.button);
setContentView(R.layout.activity_options);`
}
public void onClick(View view) {
}
}
我希望在单击选项活动中的按钮时打开一个链接。
您想将一个Url
从MainActivity
传递给OtherActivity
以便用户在点击OtherActivity.Button
时将被重定向到它?
如果是,使用Intent
传递 Url
class OtherActivity : AppCompatActivity(){
companion object {
private const val EXTRA_KEY_URL = "OTHER_DETAIL.EXTRA_KEY_URL"
fun launch(launcher: Activity, url: String) {
val intent = Intent(launcher, OtherActivity::class.java)
.apply {
putExtra(EXTRA_KEY_URL, url)
}
launcher.startActivity(intent)
}
}
private lateinit var url: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.other_activity)
url = intent.getStringExtra("EXTRA_KEY_URL")
myButton.setOnClickListener {
// use url here
}
}
}
如何从您的MainActivity
调用它
val uri = /* your Uri */
val str = uri.toString()
OtherActivity.launch(this, str)
根据您的需要编辑,在 Java 中
public class Options extends AppCompatActivity implements View.OnClickListener {
private static final String EXTRA_KEY_URL = "OTHER_DETAIL.EXTRA_KEY_URL";
Button button;
String url;
public static void start(final Activity launcher, String url) {
Intent intent = new Intent(launcher, Options.class);
intent.putExtra(EXTRA_KEY_URL, url)
launcher.startActivity(intent);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_options);
url = getIntent().getStringExtra("EXTRA_KEY_URL")
button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
}
public void onClick(View view) {
/* use url*/
}
}
然后,在MainActivity
public void onClick(View view) {
if (view.getId() == R.id.info) {
// get your url
String url = ""; //TODO
OtherActivity.launch(this, url);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.