Intent 隐式的使用方法
我平常都是使用Intent来转跳Android的界面,之前我平常使用的样子是这样的:
startActivity(new Intent(*****.this,*****.class));
平常是不是都是这么书写的,今天我学到了一种隐式Intent的书写方式,下面就来分享一下。
首先我们要新建一个activity ,Java文件和xml文件。建立的方式就不说了。我们要来到AndroidMainfest文件中来,找到那个新建activity的标签下加这么几个参数:
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="com.example.lreanintent.intent.action.myaty"/>
</intent-filter>
然后我们再回到起始的activity控制文件给布置文件中的按钮写一个点击事件
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.example.lreanintent.intent.action.myaty"));
}
});
这样就可以使用隐式Intent了,是不是看不出来了。
还有一种方式也是一种很简单的方式进行隐式Intent的,就是把那串字符串在第二activity的控制文件中保存下来,保存成public字符串。
public static final String ACTION = "com.example.lreanintent.intent.action.myaty";
然后再从第一个activity的控制文件中调用它
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(myaty.ACTION));
}
});
很完美
下面是完整代码
第一个activity的控制文件
package com.example.lreanintent;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(myaty.ACTION));
}
});
}
}
要转跳的activity控制文件代码
package com.example.lreanintent;
import android.app.Activity;
import android.os.Bundle;
import androidx.annotation.Nullable;
public class myaty extends Activity {
public static final String ACTION = "com.example.lreanintent.intent.action.myaty";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_myaty);
}
}
布局文件的代码就不放了。
通过一步一步的学习,我正在慢慢的进步,希望我能学到更多的东西。