簡體   English   中英

運行曾經完美運行的 android studio 應用程序時出現錯誤

[英]I get an error when running an android studio app which used to run perfectly

嗨,我在運行一年前創建的項目時收到以下錯誤。 當時它運行良好,但我不得不再次設置 android studio,現在我遇到了問題。

我從我的 git 中取出它,不得不再次設置工作室,但我在一年多的時間里沒有更改任何代碼。

我可能缺少插件還是我的模擬器有問題?

**更新顯示了新錯誤,修復了原始錯誤,但現在我得到了一個新錯誤。

任何幫助或建議表示贊賞。

1 錯誤

      setContentView(R.layout.activity_main);
                           ^
    symbol:   variable activity_main
    location: class layout

2. 主要活動

 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);
}

3 添加燈具

 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);


    }

4.活動主xml

 <?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>

5 搖籃構建

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM