Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法解析符号“;setText";夏洛克行动棒碎片_Android_Android Fragments - Fatal编程技术网

Android 无法解析符号“;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

我的应用程序中有一个子片段,我正试图在其中测试功能。其思想是,textview将更新以模拟输入edittext的内容。但是目前它不喜欢setText,我也不知道为什么。我已经检查了是否错过了导入,我认为小部件的定义是正确的。任何关于如何解决这个问题的建议都是很好的

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的基础知识