Autore Topic: Problema TexView  (Letto 362 volte)

Offline harlandraka94

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Carrefour CT704
  • Sistema operativo:
    Windows 7, purtroppo.
Problema TexView
« il: 16 Marzo 2012, 22:03:01 CET »
0
Buongiorno a tutti, ho questo codice:

Codice (Java): [Seleziona]
package testaccelerometro;

import testaccelerometro.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;

public class TestAccelerometro extends Activity implements SensorEventListener {

    private TextView txtX;
    private TextView txtY;
    private TextView txtZ;
    private TextView txtMove;
    private SensorManager mSensorManager;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) ,
        SensorManager.SENSOR_DELAY_UI);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        initComponents();
    }

    private void initComponents() {

        txtX = (TextView) findViewById(R.id.txtX);
        txtY = (TextView) findViewById(R.id.txtY);
        txtZ = (TextView) findViewById(R.id.txtZ);
        txtMove = (TextView) findViewById(R.id.txtMove);

    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onSensorChanged(SensorEvent event) {

        if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

            // Dalla documentazione:
            // All values are in SI units (m/s^2) and  measure the
            // acceleration applied to the phone minus the force of gravity.
            float x=event.values[0],y=event.values[1],z=event.values[2];
            // Acceleration minus Gx on the x-axis
            txtX.setText("X: " + Float.toString(event.values[0]));

            // Acceleration minus Gy on the y-axis
            txtY.setText("Y: " + Float.toString(event.values[1]));

            // Acceleration minus Gz on the z-axis
            txtZ.setText("Z: " + Float.toString(event.values[2]));
            String textToSend = "";
            if(x>1.5&&x<4&&y<-1.5&&y>-4){
                textToSend = "UL$";
            }else if(x<-1.5&&x>-4&&y<-1.5&&y>-4){
                textToSend = "UR$";
            }else if(x>-1.5&&x<1.5&&y>-1.5&&y<1.5){
                textToSend = "END$";
            }else if(x>1.5&&x<4&&y>1.5&&y<4){
                textToSend="BL$";
            }else if(x<-1.5&&x>-4&&y>1.5&&y<4){
                textToSend="BL$";
            }else if(y<-1.5&&y>-3){
                textToSend="U$";
            }else if(x<-1.5&&x>-3){
                textToSend="R$";
            }else if(y<1.5&&y>3){
                textToSend="B$";
            }else if(x<1.5&&x>3){
                textToSend="L$";
            }
            txtMove.setText("Direction: "+textToSend.substring(0,textToSend.indexOf("$")));
        }
    }
}


con questo layout xml:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtX" android:text="X: 0" android:textSize="30sp"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtY" android:text="Y: 0" android:textSize="30sp"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtZ" android:text="Z: 0" android:textSize="30sp"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtMove" android:text="Direction: none" android:textSize="30sp"></TextView>
</LinearLayout>


Inizialmente questo era un esempio di applicazione android per la lettura dei dati dall'accelerometro, aveva solo le textview txtX,txtY,txtZ, poi l'ho modificata aggiungendo txtMove, e da lì non parte più, l'errore mi viene segnalato a

Codice (Java): [Seleziona]
txtMove.setText("Direction: "+textToSend.substring(0,textToSend.indexOf("$")));
sapete cosa può essere?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema TexView
« Risposta #1 il: 17 Marzo 2012, 00:35:13 CET »
0
quale errore viene?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia