所以,我有我MainActivity
的布局 activity_main.xml
。从这个活动中,当Print
按下按钮时,我希望该活动发送用户输入的数据,并将 TextViews 添加到我的lista.xml
,这将变成位图,然后发送到我的收据打印机.
在获得 NullPointerException 的一些头痛之后,我了解到setContentView(R.layout.lista);
在执行此操作之前我必须执行类似的操作ll1= (LinearLayout) findViewById(R.id.layoutlista1);
。问题是这会切换我看到的布局,当使用 setContentView 时,它会显示我的lista.xml
. 我想我可以通过使用来解决这个问题,setContentView(R.layout.activity_main)
但我很确定这不是为了完成我想要的事情而应该做的事情。
所以我的问题是,如何在不获取 nullPointerException 的情况下将视图从当前活动布局添加到另一个布局?
这是我的lista.xml
布局:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:text="S.C. INTER S.R.L."
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:text="GALATI" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:text="Data:" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:text="-----------------------------------------" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1000" >
<LinearLayout
android:id="@+id/layoutlista1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="500"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nume produs" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutlista2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="250"
android:gravity="center_horizontal"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cantitate" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutlista3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="250"
android:gravity="center_horizontal"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pret" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:text="-----------------------------------------" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TOTAL: " />
<TextView
android:id="@+id/totallista"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.0" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="-----------------------------------------" />
这就是我初始化布局的方式:
public LinearLayout ll1;
public LinearLayout ll2;
public LinearLayout ll3;
setContentView(R.layout.lista);
ll1= (LinearLayout) findViewById(R.id.layoutlista1);
ll2= (LinearLayout) findViewById(R.id.layoutlista2);
ll3= (LinearLayout) findViewById(R.id.layoutlista3);