有问题写在Kotlin的EditText

所以我想我有一些范围问题。 我正在尝试使用函数editText在我的活动中设置R.id.zipHolder editText 。 我只是在设置代码才能做到这一点的问题。 以下是我目前没有工作。 mZipHold是回来的未initialized ,我虽然是在override

更新

 class SecondActivity : AppCompatActivity() { lateinit var townInfo:JsonArray<JsonObject> override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity2) SET_TOWN.setOnClickListener {v -> setTowns()} GET_TOWNS.setOnClickListener {v -> retrieveTowns()} } fun setZipEdit(zipEdit:String){ Log.d("SZE",zipEdit) zipHolder.setText(zipEdit) //mZipHold.setText(zipEdit,TextView.BufferType.EDITABLE) } 

java.lang.NullPointerException:尝试在android.support.v7.app.AppCompatDelegateImplBase()上的空对象引用上调用虚拟方法'android.view.Window $ Callback android.view.Window.getCallback()'(AppCompatDelegateImplBase.java: (AppCompatDelegateImplV11.java:29)at android.support.v7.app.AppCompatDelegateImplV9(AppCompatDelegateImplV9.java:149)at android.support.v7.app.AppCompatDelegateImplV11(AppCompatDelegateImplV11.java:29)at android.support.v7.app.AppCompatDelegateImplV14( (AppCompatDelegateImplV14.java:54)at android.support.v7.app.AppCompatDelegateImplV23。(AppCompatDelegateImplV23.java:31)at android.support.v7.app.AppCompatDelegateImplN。(AppCompatDelegateImplN.java:31)at android.support.v7.app .AppCompatDelegate.create(AppCompatActivity.java:519)at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183)at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190)at

com.example.sdfsdf.listview.SecondActivity ._ $ _ findCachedViewById(SecondActivity.kt:0)at com.example.sdfsdf.listview.SecondActivity.setZipEdit(SecondActivity.kt:44)at com.example.sdfsdf.listview.SecondActivity $ MyCustomAdapter $ onCreateViewHolder $ 1.onClick(SecondActivity.kt:124)at android.view.View.performClick(View.java:6256) at android.view.View $ PerformClick.run(View.java:24697)at android.os。 Handler.handleCallback(Handler.java:789)在android.os.Handler.dispatchMessage(Handler.java:98)在android.os.Looper.loop(Looper.java:164)在android.app.ActivityThread.main(ActivityThread .java:6541)at com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)at com.android.internal.os.ZygoteInit java.lang.reflect.Method.invoke(Native Method) 。主要(ZygoteInit.java:767)

XML

 <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="25dp"> <ImageView android:id="@+id/returnimage" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginStart="8dp" android:layout_marginTop="20dp" android:contentDescription="logoforZip" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/ic_new_icon_plain" /> <EditText android:id="@+id/zipHolder" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginEnd="10dp" android:layout_marginStart="8dp" android:layout_marginTop="20dp" android:ems="10" android:inputType="number" android:text="ZIP HERE" android:textAlignment="center" android:textColor="#000000" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/returnimage" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/SET_TOWN" android:layout_width="0dp" android:layout_height="50dp" android:layout_marginTop="8dp" android:text="SET TOWN" app:layout_constraintEnd_toEndOf="@+id/zipHolder" app:layout_constraintStart_toStartOf="@+id/zipHolder" app:layout_constraintTop_toBottomOf="@+id/zipHolder" /> <Button android:id="@+id/GET_TOWNS" android:layout_width="0dp" android:layout_height="50dp" android:layout_marginTop="8dp" android:text="LIST NEARBY TOWNS" app:layout_constraintEnd_toEndOf="@+id/SET_TOWN" app:layout_constraintStart_toStartOf="@+id/SET_TOWN" app:layout_constraintTop_toBottomOf="@+id/SET_TOWN" /> <View android:id="@+id/splitbar" android:layout_width="fill_parent" android:layout_height="6dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:background="#c0c0c0" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/GET_TOWNS" /> <android.support.v7.widget.RecyclerView android:id="@+id/zipList" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:background="#222222" android:scrollbars="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/splitbar" /> </android.support.constraint.ConstraintLayout> 

好吧,但使用kotlinextension是一个更好的方法来做到这一点,我认为你需要做2件事情可以解决你的问题

第一

import kotlinx.android.synthetic.main.activity_main2.*

我想你已经做了

第二,而不是通过findViewById直接使用作为初始化您的Editext

 fun setZipEdit(zipEdit:String){ Log.d("SZE",zipEdit) Log.d("mzh",mZipHold.toString()) zipHolder.setText(zipEdit) //mZipHold.setText(zipEdit,TextView.BufferType.EDITABLE) } 

您只能使用自己的ID访问您的视图。 试试这个,让我知道如果作品