Java(Android)中的findViewByID相对布局
在我的XML中,我有一个线性布局,它包含两个相对的布局(一个在顶部,一个在底部)。底部相对布局包含一个ViewFlipper,我想用它来显示图像。现在,我正试图用Java将这些图像放在一个文件列表中,以便在“for循环”中访问它们,如果这样做有意义的话。我正试图用Java定义底部相对布局,以便将ViewFlipper放入其中。当我尝试使用findViewByID时,我为布局创建的ID(XML格式)不会作为选项弹出。 我是以正确的方式进行这一过程,还是有其他方式可以尝试? 这是Java代码的一部分:Java(Android)中的findViewByID相对布局,java,android,android-relativelayout,Java,Android,Android Relativelayout,在我的XML中,我有一个线性布局,它包含两个相对的布局(一个在顶部,一个在底部)。底部相对布局包含一个ViewFlipper,我想用它来显示图像。现在,我正试图用Java将这些图像放在一个文件列表中,以便在“for循环”中访问它们,如果这样做有意义的话。我正试图用Java定义底部相对布局,以便将ViewFlipper放入其中。当我尝试使用findViewByID时,我为布局创建的ID(XML格式)不会作为选项弹出。 我是以正确的方式进行这一过程,还是有其他方式可以尝试? 这是Java代码的一部分
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
brl = (RelativeLayout) findViewById(R.id.);
vf = (ViewFlipper) findViewById(R.id.Flipper);
我的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Analysis"
android:id="@+id/mainLL" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="350dp"
android:layout_gravity="top"
android:id="@+id/topRL" >
<TextView
android:id="@+id/textViewFilename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="Filename"
android:textAlignment="center"
android:textSize="35dp" />
<TextView
android:id="@+id/textViewSpecies"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textViewFilename"
android:gravity="center"
android:text="Frog Species"
android:textSize="40dp" />
<EditText
android:id="@+id/editTextLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewSpecies"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:ems="10"
android:hint="What is your location?" />
<Button
android:id="@+id/buttonSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="SAVE" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:id="@+id/bottomRL" >
<ViewFlipper
android:id="@+id/Flipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" >
</ViewFlipper>
</RelativeLayout>
</LinearLayout>
缺少方法
setContentView(int resId)
;因此,您试图从空内容中查找视图
,这就是为什么它会给您一个空点异常
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// IMPORTANT : set a content layout to your activity before retreiving any view
setContentView(R.layout.activity_main);
brl = (RelativeLayout) findViewById(R.id.);
vf = (ViewFlipper) findViewById(R.id.Flipper);
}
缺少方法
setContentView(int resId)
;因此,您试图从空内容中查找视图
,这就是为什么它会给您一个空点异常
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// IMPORTANT : set a content layout to your activity before retreiving any view
setContentView(R.layout.activity_main);
brl = (RelativeLayout) findViewById(R.id.);
vf = (ViewFlipper) findViewById(R.id.Flipper);
}
setContentView(R.layout.mylayout)//缺少brl=(RelativeLayout)findViewById(R.id.RelativeLayout);大概您应该知道的一件事是findViewById只查找子视图。那么R.id.Flipper是运行上述java代码的视图的子视图吗?发布xml。其中缺少布局的setcontentview。@MTilsted翻转器是相对布局的子级,而相对布局是线性布局的子级。能否提供XML文件?通过查看代码,我看不到layoutsetContentView(R.layout.mylayout)的id//缺少brl=(RelativeLayout)findViewById(R.id.RelativeLayout);大概您应该知道的一件事是findViewById只查找子视图。那么R.id.Flipper是运行上述java代码的视图的子视图吗?发布xml。其中缺少布局的setcontentview。@MTilsted翻转器是相对布局的子级,而相对布局是线性布局的子级。能否提供XML文件?通过查看代码,我看不到layoutI添加的setContentview的id,但相对布局的id仍然不会作为选项弹出。但是,根据您的回答,我是否可以安全地假设可以将findViewByID用于布局?在
setContentView()
方法中,您应该将布局的名称作为id传递(例如:setContentView(R.layout.your_xml_file_name);
),并且在活动中,您可以使用findViewByID()通过其id检索布局方法(例如:RelativeLayout topRL=(RelativeLayout)findViewById(R.id.topRL);
)我添加了setContentview,但相对布局的id仍然没有作为选项弹出。但是,根据您的回答,我是否可以安全地假设可以将findViewByID用于布局?在setContentView()
方法中,您应该将布局的名称作为id传递(例如:setContentView(R.layout.your_xml_file_name);
),并且在活动中,您可以使用findViewByID()通过其id检索布局方法(例如:RelativeLayout topRL=(RelativeLayout)findViewById(R.id.topRL);
)