사용자가 데이터베이스에 무언가를 가지고 있지 않으면 버튼을로드하려는 기본 페이지 xml이 있습니다.inflator로 안드로이드에 xml을 동적으로 추가하려고 시도했습니다.
내 메인 페이지의 XML은 다음과 같습니다
는<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/beerTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:textStyle = "bold"
android:padding="5dip"
>
</TextView>
<ImageView android:id="@+id/image"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_margin="10dip"/>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:shrinkColumns="*"
android:stretchColumns="*">
<TableRow
android:id="@+id/tableStatTitles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dip" >
<TextView
android:id="@+id/abvTitle"
android:text="ABV"
android:gravity="center"
android:textStyle = "bold"
android:textSize="20sp"
android:layout_weight="1"
></TextView>
<TextView
android:id="@+id/IBUTitle"
android:text="IBU"
android:gravity="center"
android:textStyle = "bold"
android:textSize="20sp"
android:layout_weight="1"
></TextView>
<TextView
android:id="@+id/glassTitle"
android:text="Glass"
android:gravity="center"
android:textStyle = "bold"
android:textSize="20sp"
android:layout_weight="1"
android:layout_width="wrap_content"
></TextView>
</TableRow>
<TableRow
android:id="@+id/tableStat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dip" >
<TextView
android:id="@+id/abv"
android:text=""
android:gravity="center"
android:textSize="15sp"
android:layout_width="wrap_content"
></TextView>
<TextView
android:id="@+id/IBU"
android:text=""
android:gravity="center"
android:textSize="15sp"
android:layout_width="wrap_content"
></TextView>
<TextView
android:id="@+id/glass"
android:text=""
android:gravity="center"
android:textSize="15sp"
android:layout_width="wrap_content"
></TextView>
</TableRow>
</TableLayout>
<Button
android:id="@+id/buttonBrewery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
android:text=""
android:onClick="viewBrewery"
/>
<Button
android:id="@+id/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
android:text=""
android:onClick="viewStyle"
/>
<TextView
android:id="@+id/beerDescriptionTitle"
android:textStyle = "bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:text="Description:"
android:padding="5dip"
></TextView>
<TextView
android:id="@+id/beerDescription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="15sp"
android:padding="5dip"
></TextView>
<LinearLayout
android:id="@+id/addBeerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
</ScrollView>
내가 추가 할 XML 엉덩이입니다 : 내가 가진 메인 하나에 하나의 XML 파일을 팽창을 시도하고
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Add Beer" />
</LinearLayout>
:
//inflate with add beer button
Inflater inflater;
LinearLayout addButton = (LinearLayout)findViewById(R.id.addBeerLayout);
addButton.addView(inflater.inflate(R.layout.addbeerbutton_layout, null));
내 findviewbyid가 이클립스에서이 오류를 제공합니다 :
The method findViewById(int) is undefined for the type CheckBeerJSON
and my inflate give this error in eclipse:
The method inflate(byte[]) in the type Inflater is not applicable for the arguments (int, null)
NullPointerException으로 충돌이 발생합니까? 당신이 LAYOUT_INFLATER_SERVICE 변수 – Blackbelt
내가 두 번째 올바른 클래스, 당신이 문맥을 필요로하는 첫 번째 오류에 대한 내 주요 포스트 – Mike
에 무엇입니까 두 개의 오류를 추가 – Blackbelt