0

だから私は、私が作りたいアプリケーションの基本的な部分にいます。以前にこのエラーが発生したことはなく、何が起こっているのかわかりません。私の .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);
        }
    });
}
4

3 に答える 3

0

setText関数です。nameしたがって、引数として渡す必要があります。お気に入りloading_Text.setText(Name);

于 2013-10-07T23:05:57.573 に答える
0

変化する

    loading_Text.setText=(Name);

これに:

    loading_Text.setText(Name);

また、テキストビューに何も表示されない場合は、ビューを作成する前に 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) {}
       });

これがうまくいくことを願っています:)

于 2013-10-07T23:06:54.267 に答える
0

私は2つの問題を見ました:

初め:

loading_Text.setText=(Name);

する必要があります

loading_Text.setText("The text you want to set");

メソッドを呼び出す方法については、 API ドキュメントを参照する必要があります。

2番:

これらのパーツを移動します:

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実行しようとしていたのは、ロードされる前findViewByIdからです。R.layout.activity_main

同様に、このメソッドの呼び出しを移動する必要があります。

String Name = name_Edit.getText().toString();

どこかでsetContentView

于 2013-10-07T23:14:27.807 に答える