如何将布局视图与活动相关联

And*_*obs 27 layout android android-activity

在我的主要观点中,我有:

public class PlayersActivity extends Activity {
    ViewFlipper flipper;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.playercontainer);
        flipper = (ViewFlipper) findViewById(R.id.flipper);
    }
}
Run Code Online (Sandbox Code Playgroud)

有了这个观点:

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/flipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <include android:id="@+id/first"  layout="@layout/first" />
    <include android:id="@+id/second"  layout="@layout/playerdetailsview" />
</ViewFlipper>
Run Code Online (Sandbox Code Playgroud)

它正确地显示了第一个视图,但是我希望它连接到java类,所以我创建了一个FirstActivity类,我可以在第一个视图中控制所有组件,但是如何将first.xml布局与FirstActivity java类相连?

Ric*_*red 48

假设你的新xml文件是foo.xml:

  1. foo.xml文件放在您的res/layout目录中.
  2. 在你的新班级使用 setContentView(R.layout.foo);
  3. 清单文件中指定新类.

另请参阅声明布局的主题.


Moh*_*sal 6

1)创建一个xml文件(比如说foo.xml).
2)将foo.xmlres/layout目录中.
3)编辑foo.xml并放置一些android布局代码并保存.例如,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent" 
              android:orientation="vertical" >
    <ViewFlipper android:id="@+id/viewFlipper1" 
                 android:layout_width="match_parent" 
                 android:layout_height="wrap_content"></ViewFlipper>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

4)在你的新活动课中

setContentView(R.layout.foo);
Run Code Online (Sandbox Code Playgroud)

要创建活动,请参阅此答案

我猜你的xml文件的问题是你没有为活动指定任何布局.