2016-05-12 4 views
1

EditTextsからユーザーが入力した値を取得しようとしていますが、何も表示されません。ここに私のコードですAndroid EditTextの値が表示されません

public class RechargeCarte extends Fragment { 
private EditText cardnummer,transfersolde,bannummer; 
RequestQueue requestQueue; 
String s1,s2,s3; 

public RechargeCarte() { 
    // Required empty public constructor 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_recharge_carte, container, false); 
    final Button load = (Button) rootView.findViewById(R.id.btn_load_card); 
    cardnummer = (EditText) rootView.findViewById(R.id.et_card_number); 
    transfersolde = (EditText) rootView.findViewById(R.id.et_transfer_solde); 
    bannummer = (EditText) rootView.findViewById(R.id.et_ban_number); 
    requestQueue = Volley.newRequestQueue(getActivity()); 
    s1 = cardnummer.getText().toString(); 
    s2 = bannummer.getText().toString(); 
    s3 = transfersolde.getText().toString(); 

    load.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show(); 
      Log.e("CARDNUMBER", "aaaa"+s1); 
      Log.e("BANNUMBER","aaaa"+s2); 
      Log.e("TRANSFERT","aaaa"+s3); 
     } 
    }); 
    return rootView; 
} 
} 

トーストが現れませんが、ログの結果が常に入力された値が表示されない「AAAA」です。

いずれかが助けることができれば...感謝:))

+0

をonClickの ''メソッドの内部のEditTextからの入力値を取得します。 'onCreateView'の中で' getText'メソッドを呼び出すと、ユーザーが入力したStringの代わりに空のStringを返します。 –

+0

それは実際には違いはありませんが、これらの種類のロギングには "Log.d"を使用したいと考えています。 –

答えて

0

は次のように試してみてください。..
活動のライフサイクルによると、onCreate()方法のみActviityが最初に作成されたとき、あなたが置くことを選択するかもしれ実行していますload.setOnClickListener

load.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
    s1 = cardnummer.getText().toString(); 
    s2 = bannummer.getText().toString(); 
    s3 = transfersolde.getText().toString(); 
      Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show(); 
      Log.e("CARDNUMBER", "aaaa"+s1); 
      Log.e("BANNUMBER","aaaa"+s2); 
      Log.e("TRANSFERT","aaaa"+s3); 
     } 
    }); 
1

あなたのコードはをクリックする前に、その実行bcoz 「」値を取得します....

それはあなたの問題を解決するために使用します。 ......

load.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show(); 
      s1 = cardnummer.getText().toString(); 
      s2 = bannummer.getText().toString(); 
      s3 = transfersolde.getText().toString(); 
      Log.e("CARDNUMBER", "aaaa"+s1); 
      Log.e("BANNUMBER","aaaa"+s2); 
      Log.e("TRANSFERT","aaaa"+s3); 
     } 
    }); 

はあなたがEditTexを取得する必要がありますコーディング........

0

を楽しみますあなたがロード]ボタンをクリックしたときtはつまり、テキストをウィジェット:

load.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show(); 
     s1 = cardnummer.getText().toString(); 
     s2 = bannummer.getText().toString(); 
     s3 = transfersolde.getText().toString(); 
     Log.e("CARDNUMBER", "aaaa"+s1); 
     Log.e("BANNUMBER","aaaa"+s2); 
     Log.e("TRANSFERT","aaaa"+s3); 
    } 
}); 
0

のコードあなたがButtonクリックでgetText()にメソッドを呼び出した場合にのみ、EditTextから値を取得することができます。

あなたは以下のようにコードを交換する必要があるように:

load.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      s1 = cardnummer.getText().toString(); 
      s2 = bannummer.getText().toString(); 
      s3 = transfersolde.getText().toString(); 
      Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show(); 
      Log.e("CARDNUMBER", "aaaa"+s1); 
      Log.e("BANNUMBER","aaaa"+s2); 
      Log.e("TRANSFERT","aaaa"+s3); 
     } 
    }); 
関連する問題