按钮点击不同 activity 视情况而定
button click to different activity depending upon cases
我有一个没有互联网连接的静态页面....我必须在两个活动中使用这个....没有互联网连接的静态页面有点击重试按钮...
在那个点击重试按钮上我必须改变 activity
场景:--------
1.when im splash activity(无互联网)---> 它应该加载 homeactvivity
2.when 我联系我们 activity(没有互联网)---> 它应该加载联系我们 activity
需要帮助怎么办???
我得到了一些建议,例如使用布尔类型的 isFromSplash 之类的标志,当从 splash 导航时为 true,当联系我们时为 false...
我该如何实现?????
binding.btnTaptoretry.setOnClickListener {
if (this.isDeviceOnlineStatus(this)){
if (isFromSplash==true) { //this is red `isFromSplash`
val intent = Intent(this, HomeActivity::class.java)
startActivity(intent)
finish()
}
else{
val intent = Intent(this, AboutUsActivity::class.java)
startActivity(intent)
finish()
}
}
}
使用此代码
class 主活动:AppCompatActivity(){
lateinit var button : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button = findViewById(R.id.button1)
button.setOnClickListener(listener)
}
val listener= View.OnClickListener { view ->
when (view.getId()) {
if(view.getid == R.id.button1)-> {
// Do some work here
}
}
}
}
飞溅Activity.Java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import static com.saqib.app2.RetryActivity.SOURCE;
import static com.saqib.app2.RetryActivity.SPLASH;
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!Utils.isInternetConnection(this)){
Intent intent = new Intent(SplashActivity.this, RetryActivity.class);
intent.putExtra(SOURCE, SPLASH);
startActivity(intent);
finish();
return;
}
setContentView(R.layout.activity_main);
}
}
联系activity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import static com.saqib.app2.RetryActivity.CONTACT;
import static com.saqib.app2.RetryActivity.SOURCE;
import static com.saqib.app2.RetryActivity.SPLASH;
public class ContactActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!Utils.isInternetConnection(this)){
Intent intent = new Intent(ContactActivity.this, RetryActivity.class);
intent.putExtra(SOURCE, CONTACT);
startActivity(intent);
finish();
return;
}
setContentView(R.layout.activity_contact);
}
}
Utils.Java
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class Utils {
public static boolean isInternetConnection(Context context){
ConnectivityManager cm =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
return isConnected;
}
}
RetryActivity.java(重试转到指定的 activity)
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Switch;
public class RetryActivity extends AppCompatActivity {
public static final String SPLASH = "SPLASH";
public static final String CONTACT = "CONTACT";
public static final String SOURCE = "SOURCE";
Button btnRetry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retry);
Intent intent = getIntent();
final String source = intent.getExtras().getString(SOURCE);
btnRetry = findViewById(R.id.btnRetry);
btnRetry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(Utils.isInternetConnection(RetryActivity.this)) {
switch (source) {
case SPLASH:
startActivity(new Intent(RetryActivity.this, SplashActivity.class));
finish();
break;
case CONTACT:
startActivity(new Intent(RetryActivity.this, ContactActivity.class));
finish();
break;
}
}
}
});
}
}
使用 Intent 发送数据并接收来自 splash 或 contact 的数据。
Intent intent = getIntent();
final String source = intent.getExtras().getString(SOURCE);
这是从哪里获得历史的魔法。从哪里来的。
我有一个没有互联网连接的静态页面....我必须在两个活动中使用这个....没有互联网连接的静态页面有点击重试按钮...
在那个点击重试按钮上我必须改变 activity
场景:-------- 1.when im splash activity(无互联网)---> 它应该加载 homeactvivity
2.when 我联系我们 activity(没有互联网)---> 它应该加载联系我们 activity
需要帮助怎么办???
我得到了一些建议,例如使用布尔类型的 isFromSplash 之类的标志,当从 splash 导航时为 true,当联系我们时为 false...
我该如何实现?????
binding.btnTaptoretry.setOnClickListener {
if (this.isDeviceOnlineStatus(this)){
if (isFromSplash==true) { //this is red `isFromSplash`
val intent = Intent(this, HomeActivity::class.java)
startActivity(intent)
finish()
}
else{
val intent = Intent(this, AboutUsActivity::class.java)
startActivity(intent)
finish()
}
}
}
使用此代码
class 主活动:AppCompatActivity(){
lateinit var button : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button = findViewById(R.id.button1)
button.setOnClickListener(listener)
}
val listener= View.OnClickListener { view ->
when (view.getId()) {
if(view.getid == R.id.button1)-> {
// Do some work here
}
}
}
}
飞溅Activity.Java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import static com.saqib.app2.RetryActivity.SOURCE;
import static com.saqib.app2.RetryActivity.SPLASH;
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!Utils.isInternetConnection(this)){
Intent intent = new Intent(SplashActivity.this, RetryActivity.class);
intent.putExtra(SOURCE, SPLASH);
startActivity(intent);
finish();
return;
}
setContentView(R.layout.activity_main);
}
}
联系activity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import static com.saqib.app2.RetryActivity.CONTACT;
import static com.saqib.app2.RetryActivity.SOURCE;
import static com.saqib.app2.RetryActivity.SPLASH;
public class ContactActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!Utils.isInternetConnection(this)){
Intent intent = new Intent(ContactActivity.this, RetryActivity.class);
intent.putExtra(SOURCE, CONTACT);
startActivity(intent);
finish();
return;
}
setContentView(R.layout.activity_contact);
}
}
Utils.Java
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class Utils {
public static boolean isInternetConnection(Context context){
ConnectivityManager cm =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
return isConnected;
}
}
RetryActivity.java(重试转到指定的 activity)
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Switch;
public class RetryActivity extends AppCompatActivity {
public static final String SPLASH = "SPLASH";
public static final String CONTACT = "CONTACT";
public static final String SOURCE = "SOURCE";
Button btnRetry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retry);
Intent intent = getIntent();
final String source = intent.getExtras().getString(SOURCE);
btnRetry = findViewById(R.id.btnRetry);
btnRetry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(Utils.isInternetConnection(RetryActivity.this)) {
switch (source) {
case SPLASH:
startActivity(new Intent(RetryActivity.this, SplashActivity.class));
finish();
break;
case CONTACT:
startActivity(new Intent(RetryActivity.this, ContactActivity.class));
finish();
break;
}
}
}
});
}
}
使用 Intent 发送数据并接收来自 splash 或 contact 的数据。
Intent intent = getIntent();
final String source = intent.getExtras().getString(SOURCE);
这是从哪里获得历史的魔法。从哪里来的。