我有像这样的xml布局main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="text"
android:textColor="#000"
android:textSize="16dp"
android:id="@+id/edtxt"
android:gravity="center|top|left"/>
</RelativeLayout>
我在我的活动中声明了这个
public class MyActivity extends Activity {
private TextView txt = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt= (TextView)findViewById(R.id.edtxt);
}
}
但我的活动没有问题。为什么呢?
答案 0 :(得分:13)
答案 1 :(得分:4)
那是因为EditText是TextView的子类。您正在将EditText转换为TextView,因为EditText是TextView。
查看EditText的文档:http://developer.android.com/reference/android/widget/EditText.html
这里有一些东西,以便你可以了解继承,这就是这里发生的事情:http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
答案 2 :(得分:2)
答案很简单,因为EditText
扩展了TextView
。