以编程方式编辑EditText

时间:2016-03-08 14:09:16

标签: android android-edittext

我有一个带有一个textView和一个EditText和一个按钮的布局。 EditText在xml文件中不可编辑。我想通过代码启用它。

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Name"
        android:id="@+id/textView12"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
         />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/etName"
        android:layout_below="@+id/textView12"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:editable="false"
        />
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/edit"
        android:onClick="edit"
        android:id="@+id/btnName"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

2 个答案:

答案 0 :(得分:10)

从android xml文件中删除var textureLoader = new THREE.TextureLoader(); var texture0 = textureLoader.load( './0.jpg' ); var texture1 = textureLoader.load( './1.jpg' ); var texture2 = textureLoader.load( './2.jpg' ); var texture3 = textureLoader.load( './3.jpg' ); var texture4 = textureLoader.load( './4.jpg' ); var texture5 = textureLoader.load( './5.jpg' ); var materials = [ new THREE.MeshBasicMaterial( { map: texture0 } ), new THREE.MeshBasicMaterial( { map: texture1 } ), new THREE.MeshBasicMaterial( { map: texture2 } ), new THREE.MeshBasicMaterial( { map: texture3 } ), new THREE.MeshBasicMaterial( { map: texture4 } ), new THREE.MeshBasicMaterial( { map: texture5 } ) ]; var faceMaterial = new THREE.MeshFaceMaterial( materials ); var geometry = new THREE.BoxGeometry( 20, 20, 20 ); var boxMesh = new THREE.Mesh( geometry, faceMaterial ); 此行,因为此方法在android中已弃用。并使用以下代码来执行此操作。

  • 使用java代码使android:editable="false"无法编辑

EditText个活动中,在onCreate方法

之后执行以下操作
setContentView()
  • 并使用以下代码使其可编辑

    EditText text = (EditText) findViewById(R.id.etName);
    text.setTag(text.getKeyListener());
    text.setKeyListener(null);
    

希望它能提供帮助。

答案 1 :(得分:-1)

嘿而不是可编辑使用android:enabled="false"和代码setEnabled(true)