Android应用程序在意图一个新活动时崩溃



我需要帮助找出为什么它不会去下一个活动(情况R.id.Signin_Btn),我在另一个活动中得到了这个问题,这个活动在这个类制作之前是完美工作的。

我已经把所有的东西都检查过了,还是找不到解决这个问题的方法。

public class Login extends ActionBarActivity implements View.OnClickListener {
ArrayList<Driver> DriverArrayList;
DriverAdapter Dadapter;
ArrayList<Vehicle> VehicleArrayList;
VehicleAdapter Vadapter;
ArrayList<Plot> PlotArrayList;
PlotAdapter Padapter;

ImageButton Driver_Btn;
ImageButton Vehicle_Btn;
ImageButton Plot_Btn;
Button Signin_Btn;
private Intent myIntent;
private int DriverID = 0;
private int VehicleID = 0;
private int PlotID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    Driver_Btn = (ImageButton) findViewById(R.id.Select_Driver);
    Driver_Btn.setOnClickListener(this);
    Vehicle_Btn = (ImageButton) findViewById(R.id.Select_Vehicle);
    Vehicle_Btn.setOnClickListener(this);
    Plot_Btn = (ImageButton) findViewById(R.id.Select_Plot);
    Plot_Btn.setOnClickListener(this);
    Signin_Btn = (Button) findViewById(R.id.Signin_Btn);
    Signin_Btn.setOnClickListener(this);
    //ArrayList
    DriverArrayList = new ArrayList<Driver>();
    VehicleArrayList = new ArrayList<Vehicle>();
    PlotArrayList = new ArrayList<Plot>();
    new JSONAsyncTask().execute("N/A");
    ListView DlistView = (ListView) findViewById(R.id.DriverList);
    ListView VlistView = (ListView) findViewById(R.id.VehicleList);
    ListView PlistView = (ListView) findViewById(R.id.PlotList);
    Dadapter = new DriverAdapter(getApplicationContext(), R.layout.driver_row, DriverArrayList);
    Vadapter = new VehicleAdapter(getApplicationContext(), R.layout.vehicle_row, VehicleArrayList);
    Padapter = new PlotAdapter(getApplicationContext(), R.layout.plot_row, PlotArrayList);

    DlistView.setAdapter(Dadapter);
    VlistView.setAdapter(Vadapter);
    PlistView.setAdapter(Padapter);
    Driver_Btn.setBackgroundColor(Color.GREEN);
    DlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
            ListView VehicleListView = (ListView) findViewById(R.id.VehicleList);
            DriverID = DriverArrayList.get(position).getID();
            ResetButtonColours();
            arg1.setSelected(true);
            Vehicle_Btn.setBackgroundColor(Color.GREEN);
            VehicleListView.setVisibility(View.VISIBLE);
            //Toast.makeText(getApplicationContext(), DriverArrayList.get(position).getName(), Toast.LENGTH_LONG).show();
        }
    });
    VlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
            VehicleID = VehicleArrayList.get(position).getID();
            ListView PlotListView = (ListView) findViewById(R.id.PlotList);
            ResetButtonColours();
            Plot_Btn.setBackgroundColor(Color.GREEN);
            PlotListView.setVisibility(View.VISIBLE);
            //Toast.makeText(getApplicationContext(), DriverArrayList.get(position).getName(), Toast.LENGTH_LONG).show();
        }
    });
    PlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
            PlotID = PlotArrayList.get(position).getID();
        }
    });

}
private void ResetButtonColours() {
    ListView DriverListView = (ListView) findViewById(R.id.DriverList);
    ListView VehicleListView = (ListView) findViewById(R.id.VehicleList);
    ListView PlotListView = (ListView) findViewById(R.id.PlotList);
    DriverListView.setVisibility(View.GONE);
    VehicleListView.setVisibility(View.GONE);
    PlotListView.setVisibility(View.GONE);
    Driver_Btn.setBackgroundColor(Color.TRANSPARENT);
    Vehicle_Btn.setBackgroundColor(Color.TRANSPARENT);
    Plot_Btn.setBackgroundColor(Color.TRANSPARENT);
}
@Override
public void onClick(View v) {
    ListView DriverListView = (ListView) findViewById(R.id.DriverList);
    ListView VehicleListView = (ListView) findViewById(R.id.VehicleList);
    ListView PlotListView = (ListView) findViewById(R.id.PlotList);
    switch (v.getId()) {
        case R.id.Select_Driver:
            this.ResetButtonColours();
            Driver_Btn.setBackgroundColor(Color.GREEN);
            DriverListView.setVisibility(View.VISIBLE);
            break;
        case R.id.Select_Vehicle:
            this.ResetButtonColours();
            Vehicle_Btn.setBackgroundColor(Color.GREEN);
            VehicleListView.setVisibility(View.VISIBLE);
            break;
        case R.id.Select_Plot:
            this.ResetButtonColours();
            Plot_Btn.setBackgroundColor(Color.GREEN);
            PlotListView.setVisibility(View.VISIBLE);
            break;
        case R.id.Signin_Btn:
            if (DriverID == 0) {
                Toast.makeText(getApplicationContext(), "You haven't selected a Driver!", Toast.LENGTH_LONG).show();
            } else if (VehicleID == 0) {
                Toast.makeText(getApplicationContext(), "You haven't selected a Vehicle!", Toast.LENGTH_LONG).show();
            } else if (PlotID == 0) {
                Toast.makeText(getApplicationContext(), "You haven't selected a Plot!", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(), "Just a minute!", Toast.LENGTH_LONG).show();
                myIntent = new Intent(this, Dashboard.class);
                //myIntent.putExtra("key", value); //Optional parameters
                startActivity(myIntent);
            }
            break;
    }
}
public class JSONAsyncTask extends AsyncTask<String, Void, Boolean> {
    ProgressDialog dialog;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        dialog = new ProgressDialog(Login.this);
        dialog.setMessage("Loading, Please Wait");
        dialog.setTitle("Connecting to Server");
        dialog.show();
        dialog.setCancelable(false);
    }
    @Override
    protected Boolean doInBackground(String... urls) {
        try {
            HttpGet HttpPost = new HttpGet(urls[0]);
            HttpClient HttpClient = new DefaultHttpClient();
            HttpResponse Response = HttpClient.execute(HttpPost);
            int Status = Response.getStatusLine().getStatusCode();
            //if (Status == 200) {
            HttpEntity Entity = Response.getEntity();
            String Data = EntityUtils.toString(Entity);
            JSONObject Object = new JSONObject(Data);
            JSONArray DriverArray = Object.getJSONArray("drivers");
            for (int i = 0; i < DriverArray.length(); i++) {
                JSONObject Current = DriverArray.getJSONObject(i);
                Driver Driver = new Driver();
                Driver.setID(Current.getInt("id"));
                Driver.setName(Current.getString("name"));
                DriverArrayList.add(Driver);
            }
            JSONArray VehicleArray = Object.getJSONArray("vehicles");
            for (int i = 0; i < VehicleArray.length(); i++) {
                JSONObject Current = VehicleArray.getJSONObject(i);
                Vehicle Vehicle = new Vehicle();
                Vehicle.setID(Current.getInt("id"));
                Vehicle.setName(Current.getString("make") + ' ' + Current.getString("model"));
                Vehicle.setReg("(" + Current.getString("reg") + ")");
                VehicleArrayList.add(Vehicle);
            }
            JSONArray PlotArray = Object.getJSONArray("plots");
            for (int i = 0; i < PlotArray.length(); i++) {
                JSONObject Current = PlotArray.getJSONObject(i);
                Plot Plot = new Plot();
                Plot.setID(Current.getInt("id"));
                Plot.setName(Current.getString("name"));
                PlotArrayList.add(Plot);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
    protected void onPostExecute(Boolean result) {
        dialog.cancel();
        Dadapter.notifyDataSetChanged();
        if (result == false) {
            Toast.makeText(getApplicationContext(), "Unable to Fetch Content from Server", Toast.LENGTH_LONG).show();
        }
    }
}

}

您是否已将新活动添加到清单文件?

添加这个

<activity
    android:name=".Dashboard"
    android:label="Dashboard" />

最新更新