Reputation: 67
<?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"
android:background="@android:color/background_dark"
tools:context="com.karanvir.stepcounter.MainActivity">
<TextView
android:id="@+id/value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textColor="@android:color/holo_orange_light"
android:textSize="50sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.461"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.433"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:background="@color/colorPrimary"
app:srcCompat="@drawable/i"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintTop_creator="1"
android:layout_marginTop="66dp"
app:layout_constraintTop_toBottomOf="@+id/value"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="65dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:background="@android:color/holo_orange_light"
android:text="How it works"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_constraintTop_creator="1"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
package com.karanvir.stepcounter;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
public class MainActivity extends AppCompatActivity implements SensorEventListener{
private TextView value;
private SensorManager sensorManager;
public static DecimalFormat DECIMAL_FORMATTER;
private SensorManager mSensorManager;
Button button22;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button22=(Button) findViewById(R.id.button);
button22.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openActivity3();
}
});
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if (mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) != null){
//
Toast.makeText(this, "Success! There's a magnetometer.", Toast.LENGTH_SHORT).show();
}
else {
// Failure! No magnetometer.
openActivity2();
}
setContentView(R.layout.activity_main);
value = (TextView) findViewById(R.id.value);
// define decimal formatter
DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.US);
symbols.setDecimalSeparator('.');
DECIMAL_FORMATTER = new DecimalFormat("#.000", symbols);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
// get values for each axes X,Y,Z
float magX = event.values[0];
float magY = event.values[1];
float magZ = event.values[2];
double magnitude = Math.sqrt((magX * magX) + (magY * magY) + (magZ * magZ));
// set value on the screen
value.setText(DECIMAL_FORMATTER.format(magnitude) + " \u00B5");
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void openActivity2(){
Intent intent=new Intent(this, Main2Activity.class);
startActivity(intent);
}
public void openActivity3(){
Intent intent=new Intent(this, Main3Activity.class);
startActivity(intent);
}
}
I have posted all the code for my project, this includes the xml and java code. im learning and just playing around with a project for fun. I have never ran into this error, I think it may have something to do with "public class MainActivity extends AppCompatActivity implements SensorEventListener" as this is my first time using something like this.
Upvotes: 1
Views: 88
Reputation: 444
You use setContentView(R.layout.activity_main)
two times, Remove the second one.
Upvotes: 1
Reputation: 6107
You are setting contentView 2 times.
setContentView(R.layout.activity_main);
Remove the later one.
Upvotes: 1