Android更改其他布局

Android更改其他布局,android,Android,我正在我的应用程序中使用tab系统。我想使用json将数据从url加载到第二个tab。当我使用此代码时 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initilization viewPager = (ViewPag

我正在我的应用程序中使用tab系统。我想使用json将数据从url加载到第二个tab。当我使用此代码时

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放在第二个选项卡的片段布局中,并切换其可见性。