如何访问viewPager中的按钮
how to get access to button in viewPager
我想问一下 ViewPager 我在 viewPager 中创建了 2 个布局,您可以在它们之间滑动。但我完全不知道如何访问这 2 个视图中的按钮。
Button deleteButton;
TableLayout orderTable;
TableRow order;
TableLayout preparedTable;
TableRow prepared;
TextView plus;
JSONObject rows = new JSONObject( );
int last = 0;
private ViewPager tablePager;
private PagerAdapter pagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sliding_panel);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
getSupportActionBar().hide();
//orderTable.addView(order);
List<Fragment> list = new ArrayList<>();
list.add(new PageFragment1());
list.add(new PageFragment2());
tablePager = findViewById(R.id.main_view_pager);
pagerAdapter = new SlidePageAdapter(getSupportFragmentManager(),list);
tablePager.setAdapter(pagerAdapter);
tablePager.setCurrentItem(0);
setMain();
/*LayoutInflater getView = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = getView.inflate(R.layout.main, null);
plus = v.findViewById(R.id.plus);
plus.setOnClickListener(this);*/
}
private void setMain() {
View main = getLayoutInflater().inflate(R.layout.main, tablePager, false);
orderTable = (TableLayout) main.findViewById(R.id.main_orders_table);
order = (TableRow) main.findViewById(R.id.main_orders_rows);
preparedTable = (TableLayout) main.findViewById(R.id.main_prepared_table);
prepared = (TableRow) main.findViewById(R.id.main_prepared_rows);
plus = (TextView) main.findViewById(R.id.plus);
plus.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.plus:
addOrder();
break;
}
}
那么我怎么能在其中一个视图中调用某些东西呢?这不会触发 onclicklistener。
请帮忙谢谢
您应该通过查找按钮 ID 从片段中访问按钮
Button mybtn=getActivity().findViewById(yourbtnid);
我想问一下 ViewPager 我在 viewPager 中创建了 2 个布局,您可以在它们之间滑动。但我完全不知道如何访问这 2 个视图中的按钮。
Button deleteButton;
TableLayout orderTable;
TableRow order;
TableLayout preparedTable;
TableRow prepared;
TextView plus;
JSONObject rows = new JSONObject( );
int last = 0;
private ViewPager tablePager;
private PagerAdapter pagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sliding_panel);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
getSupportActionBar().hide();
//orderTable.addView(order);
List<Fragment> list = new ArrayList<>();
list.add(new PageFragment1());
list.add(new PageFragment2());
tablePager = findViewById(R.id.main_view_pager);
pagerAdapter = new SlidePageAdapter(getSupportFragmentManager(),list);
tablePager.setAdapter(pagerAdapter);
tablePager.setCurrentItem(0);
setMain();
/*LayoutInflater getView = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = getView.inflate(R.layout.main, null);
plus = v.findViewById(R.id.plus);
plus.setOnClickListener(this);*/
}
private void setMain() {
View main = getLayoutInflater().inflate(R.layout.main, tablePager, false);
orderTable = (TableLayout) main.findViewById(R.id.main_orders_table);
order = (TableRow) main.findViewById(R.id.main_orders_rows);
preparedTable = (TableLayout) main.findViewById(R.id.main_prepared_table);
prepared = (TableRow) main.findViewById(R.id.main_prepared_rows);
plus = (TextView) main.findViewById(R.id.plus);
plus.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.plus:
addOrder();
break;
}
}
那么我怎么能在其中一个视图中调用某些东西呢?这不会触发 onclicklistener。
请帮忙谢谢
您应该通过查找按钮 ID 从片段中访问按钮
Button mybtn=getActivity().findViewById(yourbtnid);