[英]LogCat error in android studio which crashes app when running
[英]I get an error when running an android studio app which used to run perfectly
嗨,我在運行一年前創建的項目時收到以下錯誤。 當時它運行良好,但我不得不再次設置 android studio,現在我遇到了問題。
我從我的 git 中取出它,不得不再次設置工作室,但我在一年多的時間里沒有更改任何代碼。
我可能缺少插件還是我的模擬器有問題?
**更新顯示了新錯誤,修復了原始錯誤,但現在我得到了一個新錯誤。
任何幫助或建議表示贊賞。
setContentView(R.layout.activity_main);
^
symbol: variable activity_main
location: class layout
package com.example.statsgaa;
import android.content.Intent;
import android.os.Bundle;
import android.text.format.Time;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// Get Current Time
Time today = new Time(Time.getCurrentTimezone());
DatabaseHelper myDB;
// Log in
private Button LoginBtn;
// Register
private ImageButton RegisterBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDB = new DatabaseHelper(getApplicationContext());
// Log in
LoginBtn = (Button) findViewById(R.id.Login);
LoginBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick (View v)
{
openLoginActivity();
}
});
// Register
RegisterBtn = (ImageButton) findViewById(R.id.fixtures);
RegisterBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick (View v)
{
openRegisterActivity();
}
});
}
public void openLoginActivity(){
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
public void openRegisterActivity(){
Intent intent = new Intent(this, Register.class);
startActivity(intent);
}
package com.example.statsgaa;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class addFixtures extends AppCompatActivity implements View.OnClickListener {
private final AppCompatActivity activity = addFixtures.this;
private Button goBackBtn;
private DatabaseHelper databaseHelper;
private EditText editTextOpponentName;
private EditText editTextAwayScore;
private EditText editTextHomeScore;
private EditText editTextResult;
private EditText editTextDate;
private EditText editTextCompetition;
private Fixtures1 fixtures;
private Button save;
private Inputvalidation inputvalidation;
private User user;
DatabaseHelper myDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_fixtures);
goBackBtn = (Button) findViewById(R.id.goBack3);
goBackBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
openFixturesActivity();
}
});
getSupportActionBar().hide();
initViews();
initListeners();
initObjects();
}
private void openFixturesActivity() {
Intent intent = new Intent(this, com.example.statsgaa.Fixtures1.class);
String nameFromIntent = getIntent().getStringExtra("EMAIL");
intent.putExtra(("EMAIL"), nameFromIntent);
startActivity(intent);
}
private void initViews() {
editTextOpponentName = (EditText) findViewById(R.id.opponentName);
editTextAwayScore = (EditText) findViewById(R.id.awayScore);
editTextHomeScore = (EditText) findViewById(R.id.homeScore);
editTextResult = (EditText) findViewById(R.id.result);
editTextDate = (EditText) findViewById(R.id.date);
editTextCompetition = (EditText) findViewById(R.id.competition);
save = (Button) findViewById(R.id.saveFixture);
}
private void initListeners() {
save.setOnClickListener(this);
}
private void initObjects() {
inputvalidation = new Inputvalidation(activity);
databaseHelper = new DatabaseHelper(activity);
fixtures = new Fixtures1();
}
// Table 3 : Add fixtures info
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.saveFixture:
postDataToSQLite();
break;
}
}
private void postDataToSQLite() {
if (!databaseHelper.checkUser(editTextOpponentName.getText().toString().trim()))
//textInputEditTextPassword.getText().toString().trim()))
{
Bundle email = getIntent().getExtras();
String a = databaseHelper.getColumnUserName(email.getString("EMAIL"));
fixtures.setOpponentName(String.valueOf(editTextOpponentName.getText()));
fixtures.setAwayScore(String.valueOf(editTextAwayScore.getText()));
fixtures.setHomeScore(String.valueOf(editTextHomeScore.getText()));
fixtures.setCompetition(String.valueOf(editTextCompetition.getText()));
fixtures.setMatchDate(String.valueOf(editTextDate.getText()));
fixtures.setResult(String.valueOf(editTextResult.getText()));
fixtures.setForeignKey(Integer.parseInt(a));
databaseHelper.addFixtures(fixtures);
Intent accountIntent = new Intent(activity, com.example.statsgaa.Fixtures1.class);
String nameFromIntent = getIntent().getStringExtra("EMAIL");
accountIntent.putExtra(("EMAIL"), nameFromIntent);
startActivity(accountIntent);
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<Button
android:id="@+id/Login1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_editor_absoluteX="86dp"
tools:layout_editor_absoluteY="114dp" />
<Button
android:id="@+id/Register1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_editor_absoluteX="87dp"
tools:layout_editor_absoluteY="233dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.statsgaa"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-
optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.0.0'
implementation 'androidx.navigation:navigation-ui:2.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
嘗試在 activity_main 中第一個按鈕之前添加此行。 還要確保將其重命名為“activity_main”。
tools:context="com.example.statsgaa.MainActivity"
此外,請嘗試在activity_main 中命名按鈕的方式保持一致。 我建議您將其更改為“登錄”而不是“登錄 1”。
從下面的代碼中也可以看出,按鈕 id 'fixtures' 不存在,因為在 activity_main 中只有一個注冊和登錄按鈕
RegisterBtn = (ImageButton) findViewById(R.id.fixtures);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.