Android 无法解析符号“;setText";夏洛克行动棒碎片
我的应用程序中有一个子片段,我正试图在其中测试功能。其思想是,textview将更新以模拟输入edittext的内容。但是目前它不喜欢setText,我也不知道为什么。我已经检查了是否错过了导入,我认为小部件的定义是正确的。任何关于如何解决这个问题的建议都是很好的Android 无法解析符号“;setText";夏洛克行动棒碎片,android,android-fragments,Android,Android Fragments,我的应用程序中有一个子片段,我正试图在其中测试功能。其思想是,textview将更新以模拟输入edittext的内容。但是目前它不喜欢setText,我也不知道为什么。我已经检查了是否错过了导入,我认为小部件的定义是正确的。任何关于如何解决这个问题的建议都是很好的 import com.actionbarsherlock.app.SherlockFragment; import android.os.Bundle; import android.view.LayoutInflater; impo
import com.actionbarsherlock.app.SherlockFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
public class WeightFragment extends SherlockFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_weight, container, false);
return rootView;
}
EditText weight = (EditText) getActivity().findViewById(R.id.weightInput);
TextView label = (TextView) getActivity().findViewById(R.id.weightResult);
String result = weight.getText().toString();
label.setText(result);
}
将代码放入方法中,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_weight, container, false);
EditText weight = (EditText) getActivity().findViewById(R.id.weightInput);
TextView label = (TextView) getActivity().findViewById(R.id.weightResult);
String result = weight.getText().toString();
label.setText(result);
return rootView;
}
刚试过这个就成功了(不知道为什么我一开始没试过,哈哈)。我假设如果我将它放在oncreate中,它不会在每次我更改editText中的值时更新。你知道我将如何使它成为动态的吗?只要创建一个方法'updateLabel',并在需要时调用它就可以了。你可以解释为什么它应该在一个方法中吗?你必须在一个类方法中调用getActivity(),这是java的基础知识