這是我爲Android Studio中的學校項目構建的第一個應用程序,我試圖通過按鈕單擊將數據發送到MainActivity的另一活動。當我點擊按鈕時,該應用程序崩潰。 screenshot of the error我不知道它在哪裏失敗以及修復是什麼。通過意圖開始新活動時,應用程序崩潰
這是MainActivity.java
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
private EditText maxticketSrc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view) {
Intent intent = new Intent(this, ScanActivity.class);
EditText eventSrc = (EditText) findViewById(R.id.eventEditTxt);
EditText sectorSrc = (EditText) findViewById(R.id.sectorEditTxt);
EditText minticketSrc = (EditText) findViewById(R.id.minticketEditTxt);
maxticketSrc = (EditText) findViewById(R.id.maxticketEditTxt);
String eventTxt = eventSrc.getText().toString();
String sectorTxt = sectorSrc.getText().toString();
String minticketTxt = minticketSrc.getText().toString();
String maxticketTxt = maxticketSrc.getText().toString();
String message = eventTxt + "-" + sectorTxt + "-" + minticketTxt + "-" + maxticketTxt;
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
這是activity_main.xml中
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.abinodh.ddm.ticketvalidator.ScanActivity">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Event Setup Wizard"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintHorizontal_bias="0.452"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="28dp" />
<TextView
android:id="@+id/textView"
android:layout_width="171dp"
android:layout_height="35dp"
android:text="Event ID:"
android:textSize="20sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.117"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.191" />
<TextView
android:id="@+id/textView2"
android:layout_width="172dp"
android:layout_height="34dp"
android:text="Max Ticket No:"
android:textAlignment="textStart"
android:textSize="20sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.117"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.572" />
<TextView
android:id="@+id/textView4"
android:layout_width="171dp"
android:layout_height="34dp"
android:text="Min Ticket No:"
android:textAlignment="textStart"
android:textSize="20sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.117"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.44" />
<TextView
android:id="@+id/textView3"
android:layout_width="171dp"
android:layout_height="33dp"
android:text="Sector ID:"
android:textAlignment="textStart"
android:textSize="20sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.117"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.313" />
<EditText
android:id="@+id/maxticketEditTxt"
android:layout_width="160dp"
android:layout_height="34dp"
android:ems="10"
android:inputType="number"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.875"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.572" />
<EditText
android:id="@+id/minticketEditTxt"
android:layout_width="161dp"
android:layout_height="34dp"
android:ems="10"
android:inputType="number"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.878"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.44" />
<EditText
android:id="@+id/sectorEditTxt"
android:layout_width="161dp"
android:layout_height="33dp"
android:ems="10"
android:inputType="number"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.878"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.313" />
<EditText
android:id="@+id/eventEditTxt"
android:layout_width="161dp"
android:layout_height="35dp"
android:ems="10"
android:inputType="number"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.878"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.191" />
<Button
android:id="@+id/setupWizSubmitBtn"
android:layout_width="188dp"
android:layout_height="66dp"
android:text="Submit"
android:onClick="sendMessage"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
的XML佈局來源,這是ScanActivity.java
public class ScanActivity extends AppCompatActivity implements View.OnClickListener {
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
String[] messageArray = message.split("-");
int eventData = Integer.parseInt(messageArray[0]);
int sectorData = Integer.parseInt(messageArray[1]);
int minticketData = Integer.parseInt(messageArray[2]);
int maxticketData = Integer.parseInt(messageArray[3]);
private TextView resultTxt, contentTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scan);
Button scanBtn = (Button) findViewById(R.id.scan_button);
resultTxt = (TextView)findViewById(R.id.scan_format);
contentTxt = (TextView)findViewById(R.id.scan_content);
scanBtn.setOnClickListener(this);
}
public void onClick(View v){
if(v.getId()==R.id.scan_button){
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
Boolean validity = true;
String scanContent = scanningResult.getContents();
String[] resultArr = scanContent.split("-");
int event = Integer.parseInt(resultArr[0]);
int sector = Integer.parseInt(resultArr[1]);
int ticket = Integer.parseInt(resultArr[2]);
String validityStr;
if(event != eventData)
{
validity = false;
}
if(sector != sectorData)
{
validity = false;
}
if(ticket < minticketData || ticket > maxticketData)
{
validity = false;
}
if (validity)
validityStr = "Valid";
else
validityStr = "Not Valid";
resultTxt.setText("Event: " + event + "\nSector: " + sector + "\nTicket Number: " + ticket + "\nValidity: " + validityStr);
contentTxt.setText("Scan Result: " + scanContent);
}
else{
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
}
這裏面activity_scan.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.abinodh.ddm.ticketvalidator.MainActivity">
<Button
android:id="@+id/scan_button"
android:layout_width="368dp"
android:layout_height="134dp"
android:layout_centerHorizontal="true"
android:text="SCAN"
android:textSize="45sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.029" />
<TextView
android:id="@+id/scan_format"
android:layout_width="333dp"
android:layout_height="221dp"
android:layout_below="@id/scan_button"
android:layout_centerHorizontal="true"
android:text="Please Scan"
android:textAlignment="center"
android:textIsSelectable="true"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/scan_content"
android:layout_width="409dp"
android:layout_height="43dp"
android:text="Content"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.82"
app:layout_constraintHorizontal_bias="0.48" />
<ImageView
android:id="@+id/imageView"
android:layout_width="179dp"
android:layout_height="70dp"
app:srcCompat="@mipmap/ic_launcher"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.988" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
app:layout_constraintGuide_begin="20dp"
android:orientation="horizontal"
tools:layout_editor_absoluteY="20dp"
tools:layout_editor_absoluteX="0dp" />
</android.support.constraint.ConstraintLayout>
將您的堆棧跟蹤放在這裏 –