自定义视图和主要活动

时间:2011-09-26 04:59:23

标签: android

我想在自定义视图中使用一个不同类的点数组。但该点数组实际上是在主要活动中声明的。和自定义视图只扩展视图所以当我在ondraw()中使用点数组时,它是未声明的。

实际上我想在ondraw()函数中的数组中使用坐标,然后在我的其余代码所在的主活动中使用它们。然后我还想在该视图上添加按钮。

Q2。我使用另一种方法,我没有为自定义视图创建新的java文件,并尝试在main.xml中添加两个线性布局,一个用于按钮,另一个用于自定义视图,但是当我加载视图时,它在主要活动中它没有得到加载什么将是语法谢谢。

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">

    <Button android:text="Button" android:id="@+id/btn1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">

    <com.faisal.FaisalActivity.DemoView
        android:id="@+id/demoView1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/hello" />

    <com.faisal.FaisalActivity.DemoView
        android:id="@+id/demoView1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>

以上是我的线性布局忽略括号我刚删除它们强文

1 个答案:

答案 0 :(得分:0)

您可以在自定义视图中创建一个setData方法,并在xml中创建一个自定义视图的ID。

在活动类的onCreate函数中,您可以使用findViewById(ID OF CUSTOM VIEW)并将数据设置为对象。这样,您就可以将活动中的数据传递给视图。

这是我创建的line chart的示例,这里我将一个点数组传递给线图视图,这是一个自定义视图。