12

私はこのような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);
 }

}

しかし、私は私の活動に問題はありません。なぜ?

4

3 に答える 3

13

このリンクを参照してくださいhttp://developer.android.com/reference/android/widget/EditText.html

そしてここを見てここに画像の説明を入力

あなたはあなたの答えを見つけるでしょう

于 2012-10-05T07:07:31.240 に答える
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

于 2012-10-05T07:06:48.253 に答える
2

答えは簡単です。 EditTextextendsだからですTextView

于 2012-10-05T07:06:42.757 に答える