android - 在 Android 中重用相同的选项卡活动
问题描述
我正在尝试在单击MainActivity
. 选项卡活动对第一张卡没有任何问题。但不适用于其他卡。我为主要活动中的每张卡片实现了 3 个片段。但是,我无法找到解决方案。每次单击主页上的不同卡片时,有什么方法可以使用相同的选项卡活动和片段?我在每个片段中只有一个文本框。这是代码:
MainActivity
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
CardView card1, card2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
card1 = findViewById(R.id.card_prayer_1);
card2 = findViewById(R.id.card_prayer_2);
card1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent1 = new Intent(MainActivity.this, Prayer1Tabbed.class);
startActivity(myIntent1);
}
});
card2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent2 = new Intent(MainActivity.this, Prayer2Tabbed.class);
startActivity(myIntent2);
}
});
}
}
然后
Prayer1Tabbed
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
CardView card1, card2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
card1 = findViewById(R.id.card_prayer_1);
card2 = findViewById(R.id.card_prayer_2);
card1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent1 = new Intent(MainActivity.this, Prayer1Tabbed.class);
startActivity(myIntent1);
}
});
card2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent2 = new Intent(MainActivity.this, Prayer2Tabbed.class);
startActivity(myIntent2);
}
});
}
}
和
Prayer2Tabbed
package com.example.vishal.buddhapoojapath_marathi;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.example.vishal.buddhapoojapath_marathi.ui.main.SectionsPagerAdapter;
import com.example.vishal.buddhapoojapath_marathi.databinding.ActivityPrayer2TabbedBinding;
public class Prayer2Tabbed extends AppCompatActivity {
private ActivityPrayer2TabbedBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityPrayer2TabbedBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager());
ViewPager viewPager = binding.viewPager;
viewPager.setAdapter(sectionsPagerAdapter);
TabLayout tabs = binding.tabs;
tabs.setupWithViewPager(viewPager);
}
}
SectionsPageAdapter
package com.example.vishal.buddhapoojapath_marathi;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.example.vishal.buddhapoojapath_marathi.ui.main.SectionsPagerAdapter;
import com.example.vishal.buddhapoojapath_marathi.databinding.ActivityPrayer2TabbedBinding;
public class Prayer2Tabbed extends AppCompatActivity {
private ActivityPrayer2TabbedBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityPrayer2TabbedBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager());
ViewPager viewPager = binding.viewPager;
viewPager.setAdapter(sectionsPagerAdapter);
TabLayout tabs = binding.tabs;
tabs.setupWithViewPager(viewPager);
}
}```
解决方案
推荐阅读
- r - 遍历 R 中的两个数据框并比较相应的列值
- javascript - 如何塑造 JSON 动画的物理 Phaser 3 主体
- c# - Xamarin Forms RelativeLayout 中的 ImageButtons 未正确触发
- powershell - Powershell 导入 Microsoft.Office.Interop.Word.dll
- excel - 此插入图片代码适用于 Excel Windows,但不适用于 Excel for Mac
- php - 无法从 PHP 中的 CURL POST 中获取 $_GET
- python - 在 Tavern 1.0.0 中保存变量
- python - 了解 Python Subprocess.run 阻塞
- javascript - Plotly js中的高效3D线图?
- android - 订阅 observable:RxJava + Retrofit + Repository 模式