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

Eamon Mac :

Hi i get the following error when running a project i created a year ago. It worked fine back then but i had to set up android studio again and now i get issues.

I pulled it from my git and had to set up the studio again but i didnt change any code in more than a year.

Could i be missing plugins or is it an issue with my emulator?

**UPDATE New error shown, fixed original but now i get a new one.

Any help or advice is appreciated.

1 Error

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

2. Main Activity

 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 Add Fixtures

 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. Activity Main 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 Gradle build

 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'
}
Ngugi Kariuki :

Try and add this line inside activity_main just before the first button. Also make sure its renamed to exactly 'activity_main'.

tools:context="com.example.statsgaa.MainActivity"

Also, try to have consistency in how you name your buttons inside activity_main. I would suggest you change it to 'Login' and not 'Login1'.

As you can tell from the below code as well, the button id 'fixtures' does not exist, since you only have a register and login button in activity_main

RegisterBtn = (ImageButton) findViewById(R.id.fixtures);

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=367013&siteId=1