有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我的Android应用程序强制停止

您好,当我点击按钮时,我的安卓应用程序遇到了一个问题。它停止了按钮的功能是使用PutExtra从EditText获取数据,并将数据和用户移动到另一个名为Check_inf

这是主类的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:app="http://schemas.安卓.com/apk/res-auto"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    安卓:paddingBottom="@dimen/activity_vertical_margin"
    安卓:paddingLeft="@dimen/activity_horizontal_margin"
    安卓:paddingRight="@dimen/activity_horizontal_margin"
    安卓:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.anew.employee.App"
    tools:showIn="@layout/app_layout"
    安卓:background="@drawable/bg"

    >

    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:text="@string/txt"
        安卓:textSize="30dp"
        安卓:textStyle="bold"
        安卓:textColor="@color/white"
        安卓:layout_marginTop="29dp"
        安卓:id="@+id/textView"
        安卓:layout_alignParentTop="true"
        安卓:layout_centerHorizontal="true" />

<ScrollView
    安卓:layout_width="match_parent"
    安卓:layout_height="wrap_content"
    安卓:id="@+id/scrollView"
    安卓:layout_centerVertical="true"
    安卓:layout_alignParentLeft="true"
    安卓:layout_alignParentStart="true"
    安卓:layout_alignParentRight="true"
    安卓:layout_alignParentEnd="true">



    <LinearLayout
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:orientation="vertical"
        安卓:layout_centerVertical="true"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true"
        安卓:layout_toRightOf="@+id/scrollView"
        安卓:layout_toEndOf="@+id/scrollView">
    <EditText
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:hint="@string/first_name"
        安卓:textColorHint="@color/white"
        安卓:id="@+id/first_name"
        安卓:layout_marginTop="31dp"
        安卓:layout_below="@+id/textView"
        安卓:textColor="@color/white"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <EditText
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:textColor="@color/white"
        安卓:hint="@string/last_name"
        安卓:textColorHint="@color/white"
        安卓:id="@+id/last_name"
        安卓:layout_marginTop="45dp"
        安卓:layout_below="@+id/first_name"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true" />
    <EditText
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:hint="@string/phone"
        安卓:textColor="@color/white"
        安卓:textColorHint="@color/white"
        安卓:id="@+id/phone"
        安卓:layout_below="@+id/email"
        安卓:inputType="numberSigned"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true"
        安卓:layout_marginTop="41dp" />
    <EditText
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:hint="@string/email"
        安卓:textColorHint="@color/white"
        安卓:id="@+id/email"
        安卓:textColor="@color/white"
        安卓:layout_below="@+id/last_name"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_marginTop="49dp" />

    </LinearLayout>
</ScrollView>

</RelativeLayout>

这是主类的Java代码:

package com.anew.employee;

import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.support.design.widget.FloatingActionButton;
import 安卓.support.design.widget.Snackbar;
import 安卓.support.v7.app.AppCompatActivity;
import 安卓.support.v7.widget.Toolbar;
import 安卓.view.View;
import 安卓.widget.EditText;

import java.util.ArrayList;
import java.util.List;

/**
 * Author : @Java-dude
 * Date : 12/7/2016
 * Page : Main page
 */

public class App extends AppCompatActivity {

    final static String key = "mostafaabobakr.com.anew.employee.key";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_layout);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
    //fab (Floating Action Button) onClick method
    public void save(View view)
    {
      EditText first_name = (EditText) findViewById(R.id.first_name);
        String firstname = first_name.getText().toString();
        EditText last_name = (EditText) findViewById(R.id.last_name);
        String lastname =  last_name.getText().toString();
        EditText phone =  (EditText) findViewById(R.id.phone);
        String _phone = phone.getText().toString();
        int phone2 = Integer.parseInt(_phone);
        EditText email = (EditText) findViewById(R.id.email);
        String _email = email.getText().toString();

        ArrayList<String> list  =  new ArrayList<String>();
        list.add(firstname);
        list.add(lastname);
        list.add(_email);

        Intent intent = new Intent(this , Check_inf.class);
        intent.putExtra(key,list);
        intent.putExtra(key,phone2);
        startActivity(intent);


    }
}

这是Check_info类的xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    安卓:paddingBottom="@dimen/activity_vertical_margin"
    安卓:paddingLeft="@dimen/activity_horizontal_margin"
    安卓:paddingRight="@dimen/activity_horizontal_margin"
    安卓:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.anew.employee.Check_inf"
    安卓:background="@drawable/bg">

    <TextView
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:text="@string/check_inf"
    安卓:textColor="@color/white"
    安卓:textSize="30dp"
    安卓:textStyle="bold"
    安卓:layout_alignParentTop="true"
    安卓:layout_centerHorizontal="true"
        安卓:id="@+id/textView2" />

    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:text="@string/check_Fname"
        安卓:textColor="@color/white"
        安卓:textSize="19dp"
        安卓:textStyle="bold"
        安卓:id="@+id/check_Fname"
        安卓:layout_marginTop="43dp"
        安卓:layout_below="@+id/textView2"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true" />
    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:text="@string/check_Lname"
        安卓:textColor="@color/white"
        安卓:textSize="19dp"
        安卓:textStyle="bold"
        安卓:id="@+id/check_Lname"
        安卓:layout_above="@+id/check_phone"
        安卓:layout_alignRight="@+id/check_Fname"
        安卓:layout_alignEnd="@+id/check_Fname"
        安卓:layout_marginBottom="52dp" />
    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:text="@string/check_phone"
        安卓:textColor="@color/white"
        安卓:textSize="19dp"
        安卓:textStyle="bold"
        安卓:id="@+id/check_phone"
        安卓:layout_centerVertical="true"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true" />
    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:text="@string/check_email"
        安卓:textColor="@color/white"
        安卓:textSize="19dp"
        安卓:textStyle="bold"
        安卓:id="@+id/check_email"
        安卓:layout_marginBottom="55dp"
        安卓:layout_above="@+id/yes"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true" />
    <Button
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:text="@string/yes"
        安卓:textSize="20dp"
        安卓:textColor="@color/white"
        安卓:background="@color/colorPrimary"
        安卓:layout_alignParentBottom="true"
        安卓:layout_marginBottom="46dp"
        安卓:onClick="yes"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:id="@+id/yes" />
    <Button
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:text="@string/no"
        安卓:textSize="20dp"
        安卓:textColor="@color/white"
        安卓:background="@color/gray"
        安卓:id="@+id/noBack"
        安卓:onClick="exit"
        安卓:layout_alignParentBottom="true"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true" />


</RelativeLayout>

这是Check_info的java代码

package com.anew.employee;

import 安卓.content.Intent;
import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.view.View;
import 安卓.widget.TextView;

import java.util.ArrayList;

public class Check_inf extends AppCompatActivity {
    final static String key = "mostafaabobakr.com.anew.employee.key";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.check_inf_layout);
        TextView check_Fname= (TextView) findViewById(R.id.check_Fname);
        TextView check_Lname= (TextView) findViewById(R.id.check_Lname);
        TextView check_phone= (TextView) findViewById(R.id.check_phone);
        TextView check_email= (TextView) findViewById(R.id.check_email);
        Intent intent = getIntent();
        ArrayList<String> data = intent.getStringArrayListExtra(key);
        String first_name = data.get(0).toString();
        String last_name = data.get(1).toString();
        String email= data.get(2).toString();
        String phone = intent.getStringExtra(key).toString();
        int phone2 = Integer.getInteger(phone);

        check_Fname.setText(first_name);
        check_Lname.setText(last_name);
        check_email.setText(email);
        check_phone.setText(phone2);

        }

      public void yes(View view)
      {
          Intent intent = new Intent(this , Finish.class);
          startActivity(intent);
      }

    public void exit(View view)
    {
        finish();
        System.exit(0);
    }
        }

**记录cat**输出

这是错误输出

07-13 15:43:59.989 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.989 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.media.session.MediaController', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.widget.Toolbar', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.ActivityManager$TaskDescription', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.assist.AssistContent', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.view.SearchEvent', referenced from method com.anew.employee.Welcome.access$super
07-13 15:43:59.999 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:36.069 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.069 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.069 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.media.session.MediaController', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.069 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.widget.Toolbar', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.079 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.ActivityManager$TaskDescription', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.079 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.079 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.079 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.129 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.app.assist.AssistContent', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.139 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.view.SearchEvent', referenced from method com.anew.employee.App.access$super
07-13 15:45:36.149 3290-3290/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:38.229 3290-3290/com.anew.employee E/AndroidRuntime: in writeCrashedAppName, pkgName :com.anew.employee
07-13 15:45:40.149 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.149 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.149 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.media.session.MediaController', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.149 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.widget.Toolbar', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.179 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.app.ActivityManager$TaskDescription', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.179 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.179 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.209 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.209 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.app.assist.AssistContent', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.229 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.view.SearchEvent', referenced from method com.anew.employee.App.access$super
07-13 15:45:40.229 4117-4117/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.App.access$super
07-13 15:45:52.309 4117-4117/com.anew.employee E/AndroidRuntime: in writeCrashedAppName, pkgName :com.anew.employee
07-13 15:45:52.509 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.509 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.509 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.media.session.MediaController', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.509 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.widget.Toolbar', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.509 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.app.ActivityManager$TaskDescription', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.529 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.529 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.529 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.app.SharedElementCallback', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.529 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.app.assist.AssistContent', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.529 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.view.SearchEvent', referenced from method com.anew.employee.Welcome.access$super
07-13 15:45:52.599 4364-4364/com.anew.employee E/dalvikvm: Could not find class '安卓.os.PersistableBundle', referenced from method com.anew.employee.Welcome.access$super

共 (1) 个答案

  1. # 1 楼答案

    我建议您将其转换为JSON,而不是ArrayList,以便于使用,下面是您应该做的事情

    String json = new Gson().toJson(list);
    

    然后将其添加到意图中

    intent.putExtra(key,json);
    

    现在在第二个活动中,执行以下操作以返回原始arrayList

    ArrayList<String> listdata = new ArrayList<String>();     
    JSONArray jArray = (JSONArray)getIntent.getExtra().getString(key).toString(); 
    if (jArray != null) { 
       for (int i=0;i<jArray.length();i++){ 
        listdata.add(jArray.get(i).toString());
       } 
    } 
    

    现在只需阅读arrayList并返回代码