【发布时间】:2016-02-13 03:12:21
【问题描述】:
我是 Android 编程新手,但我遇到了一个我无法弄清楚的非常基本的问题。我正在尝试使用一系列相对布局制作数独应用程序。但是当我尝试在我的应用程序中更改其中一个 TextView 中的文本时,我收到了这个错误:
意外转换为 textview;布局标签是相对布局
这里的任何帮助将不胜感激!
这是产生错误的java代码:
private void message (){
TextView targetTextView = (TextView) findViewById(R.id.TL_Top_Left_Box);
targetTextView.setText("1");
}
这是底层的 XML(相当删节,因为完整的代码非常重复):
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_gravity="center_horizontal"
tools:context="com.example.android.sudoku.MainActivity">
<RelativeLayout
android:id="@+id/Sudoku_Grid"
android:layout_width="240dp"
android:layout_height="240dp"
android:background="@android:color/black"
android:layout_centerHorizontal="true">
<RelativeLayout
android:id="@+id/Top_Left_Grid"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@android:color/black"
android:layout_toLeftOf="@id/Top_Center_Grid">
<RelativeLayout
android:id="@+id/TL_Top_Center_Box"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@android:color/black"
android:background="@android:color/white"
android:layout_marginTop="1dp"
android:layout_marginRight="1dp"
android:layout_marginBottom="1dp"
android:layout_marginLeft="1dp"
android:textSize="17sp"
android:gravity="center"
android:text="0"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/TL_Top_Left_Box"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_toLeftOf="@id/TL_Top_Center_Box"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@android:color/black"
android:background="@android:color/white"
android:layout_marginTop="1dp"
android:layout_marginRight="1dp"
android:layout_marginBottom="1dp"
android:textSize="17sp"
android:gravity="center"
android:text="0"/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
<Button
android:id="@+id/Up_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Sudoku_Grid"
android:layout_marginTop="25dp"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:onClick="Click_1"
android:text="Up"/>
</RelativeLayout>
【问题讨论】:
-
您选择的是相对布局的 id 而不是文本视图。将 id 分配给 textview 并在消息函数中使用该 id
-
完全正确,非常感谢!答案很明显。