无法修改ViewPager的值,不知道为什么
# 写了一个小程序,ViewPager可以正常滚动,但死活改变不了View里面的值
## 希望有大神可以教教我怎么做,我都困在这困了一天了,还是找不到解决方案
下面附上代码,其他几个xml文件只有一个小空间
```
package com.example.msi.lostfinder;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listLost;
private String[] names = {"水杯", "手机", "钥匙", "USB线", "书籍", "饰品", "USB线", "U盘"};
private int[] icons = {R.drawable.cup, R.drawable.phone, R.drawable.key, R.drawable.xian, R.drawable.cidian,
R.drawable.wallet_woman, R.drawable.xian, R.drawable.upan};
private View listview,history,map,user;
private Button btn;
private List<View> viewList;
private ViewPager root;
//底部菜单栏各个菜单项的点击事件处理
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_LostFinder://失物招领
root.setCurrentItem(0);
return true;
case R.id.navigation_History://历史信息
root.setCurrentItem(1);
return true;
case R.id.navigation_Map://地图
root.setCurrentItem(2);
return true;
case R.id.navigation_User://用户信息
root.setCurrentItem(3);
return true;
}
return false;
}
};
public void init(){
LayoutInflater inflater = getLayoutInflater();
listLost = inflater.inflate(R.layout.lost_items,null).findViewById(R.id.lost_item);
MyBaseAdapter mAdapter = new MyBaseAdapter(this,names,icons);
listLost.setAdapter(mAdapter);
btn=inflater.inflate(R.layout.map,null).findViewById(R.id.button2);
btn.setText("我能够动!");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
/*设置参数*/
root = (ViewPager) findViewById(R.id.content);
LayoutInflater inflater = getLayoutInflater();
listview = inflater.inflate(R.layout.lost_items, null);
history = inflater.inflate(R.layout.history, null);
map = inflater.inflate(R.layout.map, null);
user = inflater.inflate(R.layout.user, null);
LayoutInflater layout=this.getLayoutInflater();
View view=layout.inflate(R.layout.map, null);
Button b=view.findViewById(R.id.button2);
b.setText("我能动");
TextView textview = (TextView) LayoutInflater.from(MainActivity.this).inflate(R.layout.history
, null).findViewById(R.id.textView);
textview.setText("能改");
/*将要分页显示的View装入数组中*/
viewList = new ArrayList<>();
viewList.add(listview);
viewList.add(history);
viewList.add(map);
viewList.add(user);
root.setAdapter(pagerAdapter);
root.setCurrentItem(0);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
catch(Exception ex){
ex.printStackTrace();
}
}
public PagerAdapter pagerAdapter = new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
//根据传来的key,找到view,判断与传来的参数View arg0是不是同一个视图
return arg0 == arg1;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return viewList.size();
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
container.removeView(viewList.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(viewList.get(position));
//把当前新增视图的位置(position)作为Key传过去
return viewList.get(position);
}
};
}
```
尝试了textview以及button都没有用,哎,心累