因此,我尝试使用EditText获取用户输入,并在单击“翻译”按钮后将文本显示在TextView中。下面是我的包含源代码的类。请帮忙!在提取要使用Google Cloud API进行翻译的输入之前,我需要能够成功从用户中提取输入,这就是为什么我现在仅尝试通过TextView提取和显示输入,但似乎无法正常工作的原因现在...
let activityType = PageID.page1.rawValue
lazy var activity: NSUserActivity = {
let userActivity = NSUserActivity(activityType: activityType)
userActivity.title = "View Page"
userActivity.suggestedInvocationPhrase = "Page one"
userActivity.isEligibleForSearch = true
userActivity.isEligibleForPrediction = true
userActivity.persistentIdentifier = NSUserActivityPersistentIdentifier(activityType)
return userActivity
}()
答案 0 :(得分:0)
当您尝试调用其EditText
方法时,堆栈跟踪指示您的null
是getText()
。
在事件处理程序中,您调用:
texttotranslate = (EditText) v.findViewById(R.id.translatetextinput);
在这种情况下,v
是触发click
事件(也称为按钮)的视图。您正在尝试在内部找到一个具有ID translatetextinput
的按钮。
您可能想写:
texttotranslate = (EditText) getView().findViewById(R.id.translatetextinput);
它将在整个片段的视图层次结构中寻找视图。
答案 1 :(得分:0)
替换这些:
textView = (TextView) getView().findViewById(R.id.translatedtext);
texttotranslate = (EditText) v.findViewById(R.id.translatetextinput);
具有:
textView = (TextView) view.findViewById(R.id.translatedtext);
texttotranslate = (EditText) view.findViewById(R.id.translatetextinput);