Java listview项目单击打开特定片段viewpager
如何通过单击主活动中的listview项在第二个活动中打开片段。 我不知道如何通过列表视图项打开特定的viewpager片段,单击如下所示: listview的片段1打开滚动活动的片段1,依此类推。 如果你愿意,我可以给你发送滚动活动java代码Java listview项目单击打开特定片段viewpager,java,android,listview,android-studio,android-fragments,Java,Android,Listview,Android Studio,Android Fragments,如何通过单击主活动中的listview项在第二个活动中打开片段。 我不知道如何通过列表视图项打开特定的viewpager片段,单击如下所示: listview的片段1打开滚动活动的片段1,依此类推。 如果你愿意,我可以给你发送滚动活动java代码 public class MainActivity extends AppCompatActivity implements View.OnClickListener { ListView listView; @Override protected
public class MainActivity extends AppCompatActivity implements
View.OnClickListener {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Button btnSimpleTabs = (Button) findViewById(R.id.scrollingTabs);
btnSimpleTabs.setOnClickListener(this);
listView = (ListView) findViewById(R.id.listView1);
String[] values = new String[]{
"Fragment 1 ::",
"Fragment 2 ::",
"Fragment 3 ::",
"Fragment 4 ::",
"Fragment 5 ::",
"and so on....",
};
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values){
};
listView.setAdapter(adapter);
//linking from 1 item to other activity stars with if options//
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// global string to class
String selectedValue = String.valueOf(parent.getItemAtPosition(position));
switch (selectedValue) {
case "Fragment 1 ::": {
Intent myIntent = new Intent(view.getContext(), ScrollableTabsActivity.class);
startActivityForResult(myIntent, 0);
break;
}
case "Fragment 2 ::": {
Intent myIntent = new Intent(view.getContext(), ScrollableTabsActivity.class);
startActivityForResult(myIntent, 0);
break;
}
case "Fragment 3 ::": {
Intent myIntent = new Intent(view.getContext(), ScrollableTabsActivity.class);
startActivityForResult(myIntent, 0);
break;
}
case "Fragment 4 ::": {
Intent myIntent = new Intent(view.getContext(), ScrollableTabsActivity.class);
startActivityForResult(myIntent, 0);
break;
}
case "Fragment 5 ::": {
Intent myIntent = new Intent(view.getContext(), ScrollableTabsActivity.class);
startActivityForResult(myIntent, 0);
break;
}
}
}
});
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.scrollingTabs:
startActivity(new Intent(MainActivity.this, ScrollableTabsActivity.class));
break;
}
}
}
public类MainActivity扩展了AppCompatActivity实现
View.OnClickListener{
列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
按钮btnSimpleTabs=(按钮)findViewById(R.id.scrollingTabs);
btnSimpleTabs.setOnClickListener(这个);
listView=(listView)findViewById(R.id.listView1);
字符串[]值=新字符串[]{
“片段1::”,
“片段2::”,
“片段3::”,
“片段4::”,
“片段5::”,
“等等……”,
};
最终ArrayAdapter适配器=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,android.R.id.text1,值){
};
setAdapter(适配器);
//使用if选项从1个项目链接到其他活动星//
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//类的全局字符串
String selectedValue=String.valueOf(parent.getItemAtPosition(position));
开关(selectedValue){
案例“片段1::”:{
Intent myIntent=newintent(view.getContext(),scrollablettabsactivity.class);
startActivityForResult(myIntent,0);
打破
}
案例“片段2::”:{
Intent myIntent=newintent(view.getContext(),scrollablettabsactivity.class);
startActivityForResult(myIntent,0);
打破
}
案例“片段3::”:{
Intent myIntent=newintent(view.getContext(),scrollablettabsactivity.class);
startActivityForResult(myIntent,0);
打破
}
案例“片段4::”:{
Intent myIntent=newintent(view.getContext(),scrollablettabsactivity.class);
startActivityForResult(myIntent,0);
打破
}
案例“片段5::”:{
Intent myIntent=newintent(view.getContext(),scrollablettabsactivity.class);
startActivityForResult(myIntent,0);
打破
}
}
}
});
}
@凌驾
公共void onClick(视图){
开关(view.getId()){
案例R.id.scrollingTabs:
startActivity(新意图(MainActivity.this、ScrollableTabsActivity.class));
打破
}
}
}
我认为您希望使用滚动选项卡活动类中的查看页面打开特定片段。
首先,您需要传递引用(which_fragment)表示需要移动哪个片段
case "Fragment 1 ::": {
Intent myIntent = new
Intent(view.getContext(), ScrollableTabsActivity.class);
myIntent.putExtra("which_fragment", 0);//0 is reference for //move framgnet 1
startActivityForResult(myIntent, 0);
break;
}
case "Fragment 2 ::": {
Intent myIntent = new
Intent(view.getContext(), ScrollableTabsActivity.class);
myIntent.putExtra("which_fragment", 1);//1 is reference for //move framgnet 2
startActivityForResult(myIntent, 0);
break;
}
等等
在ScrollableTabsActivity中,首先设置viewpager适配器,viewpager中的一个方法是setCurrentItem
viewpager.setCurrentItem("which_fragment);
您需要在这样设置适配器之后调用此方法
viewpager.setCurrentItem(getIntent().getExtra().getInt("which_fragment"));
传入
startActivity
intent数据,您将在SecondActivity中签入该数据并打开特定片段
Intent intent = new Intent(MainActivity.this, ScrollableTabsActivity.class);
intent.putExtra("your_specific_key", key);
startActivity(intent);
在新的活动中,您可以通过键获取数据,并通过键打开片段
String s = getIntent().getStringExtra("your_specific_key");
我无法理解这是我的scrollingtab文件请看你的解决方案不起作用请也看看下面我的scrollingtab java文件,我看到了你的代码,但你没有编写查看页面的代码,在设置查看页面适配器后,编写此文件以移动你想要的片段viewpager.setCurrentItem(“哪个片段”);