我的代码似乎是合理的,但只要我点击提交按钮,它就什么都不做

时间:2014-02-04 17:47:06

标签: java android eclipse import android-edittext

好吧我正在将用户输入的文本与edittext进行比较,并与String.xml中的答案进行比较。代码看起来完全听起来没有错误,但根本不起作用。任何帮助,将不胜感激。

package com.example.italianapp;






public class Pictures<sButton> extends MainActivity
{



    int level=0; // integer that will keep track of users progress

Button sButton; // represents the submit button
EditText mEdit; // text area where the user types answer
private SensorManager mSensorManager; // new sensor
private ShakeEventListener mSensorListener; // variable that listens for movement

// if the back button is pressed, return to easy menu
public void onBackPressed() 
{          
    Intent backIntent = new Intent(Pictures.this, Learningmenu.class);
    startActivity(backIntent);  
}

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.words); // uses easy_mode1 xml

    // shared preferences variable that will act as a holder of users progress
    final SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);

    AlertDialog.Builder hint = new AlertDialog.Builder(this); // hint alert dialog box
    hint.setMessage("Would you like a hint?");
    hint.setCancelable(false);      
    hint.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
    {   
        // if user clicks yes, toast pops up providing a hint
        public void onClick(DialogInterface dialog, int id) 
        {
            Toast.makeText(Pictures.this, "You have two of these on your body", Toast.LENGTH_LONG).show();
        }
    });
    hint.setNegativeButton("No", new DialogInterface.OnClickListener() 
    {   
        // if the user clicks no the level is loaded again
        public void onClick(DialogInterface dialog, int id) 
        {
            Intent intent = new Intent(Pictures.this, Pictures.class);
            startActivity(intent);
            dialog.cancel();
        }
    });
    final AlertDialog hintAlert = hint.create();
    hintAlert.setTitle("Hint");

    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mSensorListener = new ShakeEventListener();   
    mSensorListener.setOnShakeListener(new ShakeEventListener.OnShakeListener() 
    {
        // when the user shakes the device, alert them if they want a hint
        public void onShake() 
        {
            hintAlert.show();
        }
    });

    getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    TextView plot; // text view which will hold the plot
    plot = (TextView)findViewById(R.id.question1); // look for text called question1 in xml 
    plot.setMovementMethod(new ScrollingMovementMethod());

    AlertDialog.Builder alt_bld = new AlertDialog.Builder(this); // alert dialog box
    alt_bld.setMessage("Correct! Proceed to next level?");
    alt_bld.setCancelable(false);       
    alt_bld.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
    {   
        // if user decides to continue to the next level, load the second easy level
        public void onClick(DialogInterface dialog, int id) 
        {
            Intent intent = new Intent(Pictures.this, Pictures.class);
            startActivity(intent);
        }
    });
    alt_bld.setNegativeButton("No", new DialogInterface.OnClickListener() 
    {   
        // if the user does not want to continue, load the easy mode levels
        public void onClick(DialogInterface dialog, int id) 
        {
            Intent intent = new Intent(Pictures.this, Pictures.class);
            startActivity(intent);
            dialog.cancel();
        }
    });

    final AlertDialog alert = alt_bld.create();
    alert.setTitle("Yes! Mano means Hand");

    sButton = (Button)findViewById(R.id.ansSubmit1); // submit button will find ansSubmit button in xml
    sButton.setOnClickListener(new View.OnClickListener() 
    {   
        // if the submit button is clicked check text entered to actual answer
         public void onClick(View view)
         {
             mEdit = (EditText)findViewById(R.id.ansField1);
             Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
             Context context = getApplicationContext();
             String text = getResources().getString(R.string.answer1);

             // if the text that was entered matches the answer, alert dialog box will appear
             if(mEdit.getText().toString().replaceAll(" ", "").replaceAll("-", "").toLowerCase().equals(text))
             { 
                 int level = app_preferences.getInt("level", 0);

                 if (level > 0)
                 { 
                     level=level-1;
                 }

                 level++;

                 SharedPreferences.Editor editor = app_preferences.edit();

                 editor.putInt("level", level);
                 editor.commit();

                 MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.correct);
                 mediaPlayer.start();
                 alert.show();
             }
             else 
             {  
                 // if the text that was entered does not match the answer, toast pop up = "Incorrect"
                 CharSequence message = "Incorrect!";
                 int duration = Toast.LENGTH_SHORT;

                 Toast toast = Toast.makeText(context, message, duration);
                 toast.show(); // show toast alert
                 v.vibrate(250); // vibrate device for 250ms
             }
          }
     });
}   

@Override
protected void onResume() 
{
    super.onResume();
    mSensorManager.registerListener(mSensorListener,
        mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
        SensorManager.SENSOR_DELAY_UI);
}

@Override
protected void onPause() 
{
    mSensorManager.unregisterListener(mSensorListener);
    super.onStop();
}

}

1 个答案:

答案 0 :(得分:0)

public class Pictures<sButton> extends MainActivity
{



    int level=0; // integer that will keep track of users progress

Button sButton; // represents the submit button

看来你的类是sButton类型的Generic - 而sButton不是一个类型。