按钮点击不同的活动取决于情况



我有一个没有互联网连接的静态页面。。。。这个我必须用在两个动作中。。。。没有互联网连接的静态页面有点击重试按钮。。。

点击重试按钮,我必须进行不同的活动

场景:---------1.当im splash活动(没有互联网(--->它应该加载homeactvivity

2.当我联系我们活动(没有互联网(--->它应该加载联系我们的活动

需要帮助怎么做???

我有一些建议,比如使用一些布尔类型的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()   
}
}
}

启动活动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(用于转到指定活动的重试(

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;
}
}
}
});
}

}

Used Intent发送数据并接收来自飞溅或接触的数据。

Intent intent = getIntent();
final String source = intent.getExtras().getString(SOURCE);

这就是从哪里获得历史的魔力。从哪里来的。

使用此代码

类MainActivity: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
}
}
}

}

最新更新