更改布局错误?

时间:2016-04-23 23:47:36

标签: android android-layout

尝试从ImageButton更改布局,但是当我在手机上运行它时,它不会切换,而是说程序已停止。

爪哇;

var str = "Mobile Phone 1/15/16"
var sub = str.substring(0,12)

第一次布局的XML:

SELECT *
FROM
  (VALUES
    (101, 'Bikes'),
    (102, 'Accessories'),
    (103, 'Clothes')
  ) AS Category(CategoryID, CategoryName);

要改变的第二个布局;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageButton ImageButton = (ImageButton) findViewById(R.id.image);
        ImageButton.setBackgroundColor(1);

        ImageButton.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view)
            {
                setContentView(R.id.aaa);
            }
        });


    }
}

我认为这可能与我的语法有关。

1 个答案:

答案 0 :(得分:0)

您需要使用布局参考而不是ID

setContentView(R.layout.view);

view.xml是您想要的布局。

但您可能想重新考虑一下您的方法。使用片段比完全替换布局更受欢迎,因为您的ImageButton不再可用,并且您需要为显示的任何新视图调用findViewById

如果您只想加载布局文件并将其添加到当前布局,请参阅Inflating one layout