Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 - Fatal编程技术网

Android .setText工作不正常

Android .setText工作不正常,android,Android,因此,我在我的应用程序的一个基本部分,我想作出。我以前从来没有犯过这个错误,我不知道发生了什么。我的.setText抛出一个错误,说“setText无法解决或不是一个字段”,我环顾四周,没有找到我的问题。我相信我做得对。如果有人能帮我,那就太好了 MainActivity.java: public class MainActivity extends Activity { final TextView loading_Text = (TextView)findViewById(R.id.tex

因此,我在我的应用程序的一个基本部分,我想作出。我以前从来没有犯过这个错误,我不知道发生了什么。我的.setText抛出一个错误,说“setText无法解决或不是一个字段”,我环顾四周,没有找到我的问题。我相信我做得对。如果有人能帮我,那就太好了

MainActivity.java:

public class MainActivity extends Activity {

final TextView loading_Text = (TextView)findViewById(R.id.textView4);
final EditText name_Edit = (EditText)findViewById(R.id.editText1);
//String Values
    String Age="";
    String Name = name_Edit.getText().toString();

//Int Values
    int Gender = 0; //1 male | 2 female
    int Group = 0; //Different groups for ages and genders
    int save_Info = 0; //save info to phone


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button male_Button= (Button)findViewById(R.id.button1);
    Button female_Button = (Button)findViewById(R.id.button2);


    male_Button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Gender++;//Adds one to show this user is a male.

            loading_Text.setText=(Name);
        }
    });
}

setText
是一个函数。因此,您需要将
name
作为参数传递。 如
加载_Text.setText(名称)

更改

    loading_Text.setText=(Name);
为此:

    loading_Text.setText(Name);
此外,如果您在textview中看不到任何内容,这是因为您在创建视图之前就已经获得了edittext的文本,我使用类似于这样的on-edittext侦听器在编辑文本更改时刷新字符串:

name_Edit.addTextChangedListener(new TextWatcher() {

          public void afterTextChanged(Editable s) {

              Name = name_Edit.getText().toString();    
          }
          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          public void onTextChanged(CharSequence s, int start, int before, int count) {}
       });
我希望这对你有用:)

我发现了两个问题:

第一名:

加载_Text.setText=(名称)

应该是

加载_Text.setText(“要设置的文本”)

您需要查看以了解如何调用该方法

秒:

移动这些部分:

final TextView loading_Text = (TextView)findViewById(R.id.textView4);
final EditText name_Edit = (EditText)findViewById(R.id.editText1);
//String Values
    String Age="";
    String Name = name_Edit.getText().toString();
在您的
onCreate
中,如下所示:

public class MainActivity extends Activity {

TextView loading_Text;
EditText name_Edit;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    loading_Text = (TextView)findViewById(R.id.textView4);
    name_Edit = (EditText)findViewById(R.id.editText1);
或者您将得到
NullPointerException

这是因为您试图在初始化视图之前访问视图的属性。视图将在
setContentView
之后初始化,您要做的是在加载之前从
R.layout.activity\u main
中查找
findViewById

类似地,您需要移动此方法调用:

String Name=Name\u Edit.getText().toString()


setContentView

之后的某个地方更改为加载\u Text.setText(名称);