2016-07-01 1 views
1

J'ai travaillé sur une activité qui a deux champs edittext et deux spinners. Le texte entré dans les champs EditText n'apparaît pas dans le toast que je génère, même si les sélections faites dans les spinners le font. Qu'est-ce que je fais mal ?La chaîne n'apparaît pas dans le toast android

package com.goswami.pntgo.notifierdemo; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.*; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class LoginScreen extends Activity { 
      String Course = null; 
      String Semester = null; 
      String univRollNo = null; 
      String name = null; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login_screen); 

    final EditText tvname = (EditText) findViewById(R.id.name); 
    final EditText tvunivrn = (EditText) findViewById(R.id.univ_roll_no); 
    name = tvname.getText().toString(); 
    univRollNo = tvunivrn.getText().toString(); 



    Spinner course = (Spinner)findViewById(R.id.course); 
    Spinner semester = (Spinner)findViewById(R.id.semester); 
    ArrayAdapter cadapter = ArrayAdapter.createFromResource(this,R.array.courses,R.layout.courses); 
    ArrayAdapter sadapter = ArrayAdapter.createFromResource(this,R.array.semesters,R.layout.courses); 

    course.setAdapter(cadapter); 
    semester.setAdapter(sadapter); 

    course.setOnItemSelectedListener(new OnItemSelectedListener(){ 
     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 

     public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){ 
      Course = parent.getItemAtPosition(pos).toString(); 

     } 

    }); 

    semester.setOnItemSelectedListener(new OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      Semester = parent.getItemAtPosition(position).toString(); 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

    Button login = (Button)findViewById(R.id.button); 
    login.setOnClickListener(new Button.OnClickListener(){ 
     public void onClick(View v){ 
      Toast.makeText(LoginScreen.this,(name+" Roll No:"+univRollNo+"\n"+Course+" "+Semester),Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 

}

Répondre

2

vous définissez le contenu de univRollNo avant tout a été conclu tvunivrn.

Ajoutez cette ligne en haut de votre bouton de connexion OnClickListener:

univRollNo = tvunivrn.getText().toString(); 

Ou tout simplement et qui contournent extrait le texte en tant que tel:

Toast.makeText(LoginScreen.this, name + " Roll No:" + tvunivrn.getText().toString() + "\n" + Course + " " + Semester, Toast.LENGTH_LONG).show();