什么等于 android 中的 JPanel (Java)

what is equal to JPanel (Java) in android

如果我想在 Java 中每次按下某个按钮时将 2 buttons 添加到 JFrame 我创建 JPanel 并将此 2 buttons 添加到Jpanel 然后将 JPanel 添加到 JFrame

但是在android我试过了

public class object extends Activity {
    ToggleButton togglebutton;
    Button button;
    public void onCreate(Bundle bundle){
        super.onCreate(bundle);
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.HORIZONTAL);
        layout.setWeightSum(100);
        LinearLayout.LayoutParams par = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,30);
        LinearLayout.LayoutParams part = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,70);

        togglebutton = new ToggleButton(this);
        button = new Button(this);
        button.setLayoutParams(par);
        button.setLayoutParams(part);

        layout.addView(button);
        layout.addView(togglebutton);
        LinearLayout lay =(LinearLayout)findViewById(R.id.lay);
        try {
            lay.addView(layout);
        }catch(Exception e){
            e.printStackTrace();
        }

    }

}

但是没用我总是遇到异常

我能做什么?

或者 Android 中的 JPanel 等于什么?

最接近 android 的 JPanel 是布局的根视图。我认为 cricket 有正确的解决方案,而你因为没有设置 setContentView() 而收到错误。这会将您的根视图设置为指定的 xml 布局文件。例如 setContentView(R.layout.main);.

你在最初的 post 中没有提到 "adding content from one Activity to other" 并且没有包含一个 logcat 作为你的例外,但明显的问题是没有调用 setContentView在使用 findViewById 时。

此代码创建了您要创建的 activity。

public class MainActivity extends Activity {

    ToggleButton togglebutton;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout rootView = new LinearLayout(this);
        rootView.setOrientation(LinearLayout.HORIZONTAL);
        rootView.setWeightSum(100);

        LinearLayout.LayoutParams par = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,30);
        LinearLayout.LayoutParams part = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,70);

        togglebutton = new ToggleButton(this);
        button = new Button(this);
        button.setText("Click Me");
        button.setLayoutParams(par);
        button.setLayoutParams(part);

        rootView.addView(button);
        rootView.addView(togglebutton);

        setContentView(rootView);
    }

}