Issue
I am new on android. I want to make a web view App. I have 10 buttons on main activity. I want to open Different URLs with each button. Like one button for google and one for twitter. How to plan this app?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
facebook = findViewById(R.id.Layout_facebook);
instagram = findViewById(R.id.layout_instagram);
twitter = findViewById(R.id.layout_twitter);
instagram.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Instagram.class);
startActivity(intent);
}
});
facebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Facebook.class);
startActivity(intent);
}
});
twitter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Twitter.class);
startActivity(intent);
}
});
Solution
You can use one DetailActivity class to display any of the received urls from MainActivity using intents.
String instagram = "https://instagram.com";
String twitter = "https://twitter.com";
String facebook = "https://facebook.com";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
facebook = findViewById(R.id.Layout_facebook);
instagram = findViewById(R.id.layout_instagram);
twitter = findViewById(R.id.layout_twitter);
instagram.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent instagram = new Intent(MainActivity.this, DetailActivity.class);
instagram.putExtra("ig",instagram);
startActivity(instagram);
}
});
facebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent fb = new Intent(MainActivity.this, DetailActivity.class);
fb.putExtra("fb",facebook);
startActivity(intent);
}
});
twitter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent twitter = new Intent(MainActivity.this, DetailActivity.class);
twitter.putExtra("twitter",twitter);
startActivity(intent);
}
});
For DetailActivity class
public class DetailActivity extends AppCompatActivity {
String url;
WebView mWebView;
final Activity webViewActivity = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_activity);
mWebView.clearCache(true);
mWebView.clearHistory();
mWebView.getSettings().setJavaScriptEnabled(true);
Intent intent = this.getIntent();
if (intent != null) {
Bundle data = getIntent().getExtras();
if (data.containsKey("ig")) {
url = data.getString("ig");
}
if (data.containsKey("fb")) {
url = data.getString("fb");
}
if (data.containsKey("twitter")) {
url = data.getString("twitter");
}
mWebView.loadUrl(url);
}
}
}
I hope it helps what you're trying to achieve.
Answered By - Mbuodile Obiosio
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.