【发布时间】:2018-11-25 18:59:03
【问题描述】:
我有一个带有文本标签的 android 应用程序,我想在用户按下按钮时更改它(这可以在 myapp.kt 文件中完成)。我想了解如何在常规 java 文件 (Simplejava.java) 中修改此文本。问题是,当我尝试从 Simplejava.java 文件中调用 editText1 标签时,会出现以下错误:cannot resolve method 'getView()'。
我正在使用 android studio 3.2.1
myapp.kt
package com.example.don.myapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
class Connectors : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_connectors)
val RunButton = findViewById<View>(R.id.button1) as Button
val myjava = Simplejava()
RunButton.setOnClickListener({ //When the button is pressed
myjava.MainStart();//Calling the java file
})
}
}
.
Simplejava.java
package com.example.don.myapp;
import android.widget.EditText;
public class Simplejava {
public void MainStart()
{
System.out.println("Hello");//this works
//Following code doesn't work. it says, cannot resolve method 'getView()'
EditText changetext = (EditText) getView().findViewById(R.id.editText1);
changetext.setText("Hello");
}
}
【问题讨论】:
-
这是因为只有和activity相关的类才能访问一个layout的views,所以只要把context传给方法,尝试使用context访问view
标签: java android android-studio kotlin