单击Card View时如何打开WebView
How to open WebView when click on Card View
我试图在单击“卡片视图”时打开 WebView。 WebView 在 Main Activity 中实现。它不工作。我是编码新手。这是仪表板 Activity 。请告诉我如何解决这个问题。
public class DashBoardActivity extends MainActivity implements View.OnClickListener {
public CardView card1, card2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( activity_dashboard );
card1 = findViewById( R.id.c1 );
card2 = findViewById( R.id.c2 );
card1.setOnClickListener( this );
card2.setOnClickListener( this );
}
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.nav_home1) {
web_view( "example1.com" );
} else if (id == R.id.nav_home2) {
web_view( "example2.com");
}
}
}
您不需要扩展 Main Activity。
只需将 Intent Extras 中的 URL 传递到您的 Main Activity 并在那里启动它。
@Override
public void onClick(View v) {
Intent intent = new Intent(this, MainActivity.class);
String example1 = "example1.com";
String example2="example2.com";
int id = v.getId();
if (id == R.id.nav_home1) {
intent.putExtra("URL", example1);
} else if (id == R.id.nav_home2) {
intent.putExtra("URL", example2);
}
startActivity(intent);
}
然后在您的 onCreate MainActivity
中检索这些额外内容
private WebView wv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
url= null;
} else {
url= extras.getString("URL");
}
} else {
url= (String) savedInstanceState.getSerializable("URL");
}
wv1=(WebView)findViewById(R.id.webView);
wv1.setWebViewClient(new MyBrowser());
wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wv1.loadUrl(url);
}
我试图在单击“卡片视图”时打开 WebView。 WebView 在 Main Activity 中实现。它不工作。我是编码新手。这是仪表板 Activity 。请告诉我如何解决这个问题。
public class DashBoardActivity extends MainActivity implements View.OnClickListener {
public CardView card1, card2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( activity_dashboard );
card1 = findViewById( R.id.c1 );
card2 = findViewById( R.id.c2 );
card1.setOnClickListener( this );
card2.setOnClickListener( this );
}
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.nav_home1) {
web_view( "example1.com" );
} else if (id == R.id.nav_home2) {
web_view( "example2.com");
}
}
}
您不需要扩展 Main Activity。
只需将 Intent Extras 中的 URL 传递到您的 Main Activity 并在那里启动它。
@Override
public void onClick(View v) {
Intent intent = new Intent(this, MainActivity.class);
String example1 = "example1.com";
String example2="example2.com";
int id = v.getId();
if (id == R.id.nav_home1) {
intent.putExtra("URL", example1);
} else if (id == R.id.nav_home2) {
intent.putExtra("URL", example2);
}
startActivity(intent);
}
然后在您的 onCreate MainActivity
中检索这些额外内容private WebView wv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
url= null;
} else {
url= extras.getString("URL");
}
} else {
url= (String) savedInstanceState.getSerializable("URL");
}
wv1=(WebView)findViewById(R.id.webView);
wv1.setWebViewClient(new MyBrowser());
wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wv1.loadUrl(url);
}