2014-12-19 2 views
0

Следующий код дает мне исключение из null-указателя, хотя я не могу найти что-то не так с кодом. Попытался прокомментировать это и, похоже, работает. Но все еще не в состоянии выяснить, что не так с кодом? попробовал свои собственные съемки неприятности закомментировать код и такое, и сейчас ниже код дает мне NullPointer исключениеИсключение для Null Pointer для прослушивания onclick

 
Log Cat 

> 12-19 05:49:14.833: E/AndroidRuntime(3392): Caused by: 
> java.lang.NullPointerException: Attempt to invoke virtual method 'void 
> android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' 
> on a null object reference 12-19 05:49:14.833: E/AndroidRuntime(3392): 
> at 
> com.techiequickie.bharath.boadraf.newBet_activity.onCreate(newBet_activity.java:80) 

Код:

package com.techiequickie.bhr.boadraf; 

import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Gravity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.SeekBar; 
import android.widget.Toast; 

import org.json.JSONException; 
import org.json.JSONObject; 

import databasehandler.DatabaseHandler; 
import databasehandler.UserFunctions; 

/** 
* Created by YP on 17-Nov-14. 
*/ 
public class newBet_activity extends ActionBarActivity 
{ 
    EditText inputBetname, inputBetbrief, inputBetdescription; 
    SeekBar valueSeekbar; //= null; 
    Button placeBet; 


    // JSON Response node names 
    private static String KEY_SUCCESS = "success"; 
    @SuppressWarnings("unused") 
    private static String KEY_ERROR = "error"; 
    @SuppressWarnings("unused") 
    private static String KEY_ERROR_MSG = "error_msg"; 
    //private static String KEY_UID = "uid"; 
    private static String KEY_BETNAME = "bet_name"; 
    private static String KEY_BETBRIEF = "bet_brief"; 
    private static String KEY_BETDESCRIPTION = "bet_description"; 
    private static String KEY_BETVALUE = "bet_value"; 
    // private static String KEY_CREATED_AT = "created_at"; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.newbet); 
     // Importing all assets like buttons, text fields 
     inputBetname = (EditText) findViewById(R.id.betName_et); 
     inputBetbrief = (EditText) findViewById(R.id.betBriefDescription_et); 
     inputBetdescription = (EditText) findViewById(R.id.betDescription_et); 
     placeBet = (Button) findViewById(R.id.btn_newbet); 

     //valueSeekbar = (SeekBar) findViewById(R.id.betValue_bar); 

     /* 
     valueSeekbar.setOnSeekBarChangeListener 
     (

     new SeekBar.OnSeekBarChangeListener() 
     { 
      int progressChanged = 0; 

      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
       progressChanged = progress; 
      } 

      public void onStartTrackingTouch(SeekBar seekBar) { 
       // TODO Auto-generated method stub 
      } 

      public void onStopTrackingTouch(SeekBar seekBar) { 
       Toast.makeText(newBet_activity.this, "seek bar progress:" + progressChanged, Toast.LENGTH_SHORT).show(); 
      } 
     } 
     );*/ 


     placeBet.setOnClickListener(new View.OnClickListener() 
     { 


      public void onClick(View view) 
      { 
       String betname = inputBetname.getText().toString(); 
       String betBrief = inputBetbrief.getText().toString(); 
       String betDescription = inputBetdescription.getText().toString(); 
       //StringBuilder betValue = ((toString()) valueSeekbar.getProgress()); 

       //new BetRegisterTask().execute(betname,betBrief,betDescription); 
      } 
     } 
     ); 


    } 

/* 
     class BetRegisterTask extends AsyncTask<String, Void, String> 
     { 

      @Override 
      protected String doInBackground(String... params) 
      { 

       UserFunctions userFunction = new UserFunctions(); 
       JSONObject json = userFunction.createBet(params[0], params[1], params[2]); 

       // check for login response 
       try 
       { 
        if (json.getString(KEY_SUCCESS) != null) 
        { 

         String res = json.getString(KEY_SUCCESS); 
         if (Integer.parseInt(res) == 1) 
         { 
          // user successfully registred 
          // Store user details in SQLite Database 
          DatabaseHandler db = new DatabaseHandler(getApplicationContext()); 
          JSONObject json_user = json.optJSONObject("user"); 

          // Clear all previous data in database 
          userFunction.logoutUser(getApplicationContext()); 
          db.newBet(json_user.getString(KEY_BETNAME), json_user.getString(KEY_BETBRIEF), json.getString(KEY_BETDESCRIPTION)); 
          return "1"; 

         } 

        } 
       } catch (JSONException e) 
       { 
        e.printStackTrace(); 
       } 

       return "0"; 
      } 

      @Override 
      protected void onPostExecute(String s) 
      { 
       super.onPostExecute(s); 
       if (s.equals("1")) 
       { 

        // Launch Dashboard Screen 
        Intent dashboard = new Intent(getApplicationContext(), Loginactivity.class); 
        // Close all views before launching Dashboard 
        dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(dashboard); 
        // Close Registration Screen 
        finish(); 
        showToastforSucessfulBetCreation(); 

       } 
       else 
       { 
        // Error in registration 
        //registerErrorMsg.setText("Error occurred in registration"); 
        showToastforUnsucessfulBetCreation(); 
       } 
      } 
     }*/ 

    public void showToastforSucessfulBetCreation() { 
     Toast toast = Toast.makeText(this, "Registration Sucessfull", Toast.LENGTH_LONG); 
     toast.setGravity(Gravity.BOTTOM, 0, 30); 
     toast.show(); 

    } 


    public void showToastforUnsucessfulBetCreation() { 
     Toast toast = Toast.makeText(this, "Registration UnSucessfull", Toast.LENGTH_LONG); 
     toast.setGravity(Gravity.BOTTOM, 0, 30); 
     toast.show(); 

    } 

} 

+0

который один ваш номер строки 80 –

+0

btn_newbet.setOnClickListener (новый View.OnClickListener() журнал кошки также говорит, что это код. – JackyBoi

+0

Что и означает? Код выполняется, как это. – JackyBoi

ответ

1

placeBet еще не инициализирована, поэтому он дает нулевой указатель исключение

проверка следующая строка

palceBet=findViewId(R.id.btn_newbet); 
0

кажется, что вы не создал Button с идентификатором btn_newbet в XML-файле. , чтобы найти эту кнопку в файле xml или нет, вы должны навести курсор на btn_newbet в placeBet = (Button) findViewById (R.id.btn_newbet); , и если onclicking, он перенаправит для исправления xml.