android - 字符串不显示在 android toast 中

标签 android android-edittext android-toast

我一直在从事一项 Activity ,该 Activity 有两个编辑文本字段和两个微调器。在 EditText 字段中输入的文本不会显示在我生成的 toast 中,即使在微调器中完成的选择也会显示。我做错了什么?

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();
        }
    });
}

最佳答案

tvunivrn 中输入任何内容之前,您正在设置 univRollNo 的内容。

将此行添加到登录按钮 OnClickListener 的顶部:

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

或者只是规避它并提取文本:

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

关于android - 字符串不显示在 android toast 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151035/

相关文章:

android - 目前无法在 Android 上实现无缝音频循环

java.lang.ClassCastException : casting an object, 给他的 parent

java - 安卓 :xml file not working

java - 解决错误 'can not resolve symbol'

java - EditText.getText.toString() 返回空字符串

android - 无需修改 cordova 库的自定义用户代理字符串或 header

java - 输入过滤器清除预加载文本

android - 如果 EditText 内容发生变化,如何更新 JSONobject?

android - 我有一个 EditText 字段,我想在应用程序再次打开时保存它

android - Toast 在 AsyncTask 中无法显示