Android更改其他布局
我正在我的应用程序中使用tab系统。我想使用json将数据从url加载到第二个tab。当我使用此代码时Android更改其他布局,android,Android,我正在我的应用程序中使用tab系统。我想使用json将数据从url加载到第二个tab。当我使用此代码时 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initilization viewPager = (ViewPag
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initilization
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name)
.setTabListener(this));
}
/**
* on swiping the viewpager make respective tab selected
* */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
randomAdapter = new ArrayAdapter<JsonObject>(this, 0) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = getLayoutInflater().inflate(R.layout.random_bars, null);
JsonObject tweet=getItem(position);
JsonObject user=tweet.getAsJsonObject("user");
String twitterId=user.get("name").getAsString();
String image_url=user.get("image").getAsString();
TextView text=(TextView)convertView.findViewById(R.id.tweet);
text.setText(twitterId);
ImageView imageView=(ImageView)convertView.findViewById(R.id.image);
Ion.with(imageView)
.placeholder(R.drawable.twitter)
.load(image_url);
return convertView;
}
};
setContentView(R.layout.fragment_randoms);
ListView listView = (ListView)findViewById(R.id.list);
listView.setAdapter(randomAdapter);
正如您在第三行中看到的,我将setContentView与activity_main一起使用,因为我使用的是tab系统activity_main.xml包含viewgroup,但在从底部开始的第三行中,我必须使用第二个setContentView,因为我使用listview加载json数据。选项卡系统无法工作,因为我使用了setContentView两次。将您的ListView放在activity_主布局中?我不能。我使用两个选项卡,activity_主布局是只有viewgroup。我想我必须使用layout inflater来解决这个问题,但我不知道该怎么做。我不确定您的意思,但如果您希望ListView放在第二个选项卡的内容中,那么您不应该调用setContentView来更改活动的布局。ListView应该位于第二个选项卡的片段布局中。不,我想在不使用setContentView的情况下更改第二个选项卡布局。我该怎么做?在初始设置后更改活动或片段的布局不是一个好主意。您可以创建第三个选项卡和片段来显示ListView,或者将ListView放在第二个选项卡的片段布局中,并切换其可见性。