所以我在我想要制作的应用程序的基本部分。我以前从来没有弄过这个错误,我不知道发生了什么。我的.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);
}
});
}
答案 0 :(得分:0)
setText
是一个功能。所以你需要传递name
作为参数。
比如loading_Text.setText(Name);
答案 1 :(得分:0)
更改
loading_Text.setText=(Name);
到此:
loading_Text.setText(Name);
另外,如果你在textview中没有看到任何内容,那是因为你在创建视图之前就得到了edittext的文本,我在编辑文本被更改时使用这样的edittext监听器来刷新String :
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) {}
});
我希望这适合你:)
答案 2 :(得分:0)
我看到了两个问题:
<强>首先强>
loading_Text.setText=(Name);
应该是
loading_Text.setText("The text you want to set");
您需要查看API document以了解如何调用该方法。
<强>第二强>
移动这些部分:
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
。
这是因为您在初始化视图之前尝试访问View的属性。视图将在setContentView
之后初始化,您在findViewById
加载之前打算做R.layout.activity_main
。
同样,您需要移动此方法调用:
String Name = name_Edit.getText().toString();
setContentView
之后的某个地方。