文本视图未显示在真实设备上

时间:2021-02-23 09:01:08

标签: android textview sensors

When app works fine

When app not shows textviews(它正在寻找一个传感器。当找不到时,提供有关 textview 的信息,如“未找到”)

我创建了一个计步器应用。它在我的模拟器和我自己的安卓设备上运行良好。但是当我发布该应用程序时,我的朋友说文本视图是不可见的。我在代码中检查了该问题,但没有发现问题。 Textviews 正在从传感器获取他们的文本。经过一些计算,写下步数和卡路里。为什么会出现这个问题?这个问题的根源是什么?为什么会发生这种情况?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.mbkdev.fragments.CountStepFragment"
android:background="#211D44"
><androidx.constraintlayout.widget.ConstraintLayout

android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" >



<Button
    android:id="@+id/btnstop"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:background="@drawable/roundedbtn"
    android:text="Durdur"
    android:textAllCaps="false"
    android:textColor="#EBE9F1"
    android:textSize="15sp"
    android:textStyle="italic"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.781"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.184" />

<Button
    android:id="@+id/btnstart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/roundedbtn"
    android:gravity="center"
    android:text="Başlat"
    android:textAllCaps="false"
    android:textColor="#EBE9F1"
    android:textSize="15sp"
    android:textStyle="italic"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/btnstop"
    app:layout_constraintHorizontal_bias="0.472"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.184" /></androidx.constraintlayout.widget.ConstraintLayout>


<TextView
    android:id="@+id/txtStepCount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#48B9AC"
    android:layout_centerInParent="true" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/txtStepCount"
    android:layout_margin="10dp"
    android:textColor="#48B9AC"
    android:layout_centerHorizontal="true"
    android:text="Hedef: 10.000"
    />

<ProgressBar
    android:id="@+id/progress_circular"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_centerInParent="true"
    android:layout_gravity="center"
    android:layout_marginTop="65dp"
    android:indeterminateOnly="false"
    android:progressDrawable="@drawable/circle"
    android:rotation="-90"
    tools:progress="60" />
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_below="@+id/progress_circular"
    android:gravity="center"
    android:orientation="horizontal"

    >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:src="@drawable/cal"
        android:layout_marginBottom="45dp"
        android:layout_marginLeft="12dp"



        />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:src="@drawable/distance"
        android:layout_marginRight="21dp"
        android:layout_marginBottom="45dp"

        android:layout_marginHorizontal="10dp"

        />
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@drawable/steps"
        android:layout_weight="1"
        android:layout_marginRight="15dp"

        android:layout_marginBottom="45dp"
       />






</LinearLayout>
<LinearLayout
    android:id="@+id/txtlinear"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/progress_circular"
    android:gravity="center"
    android:orientation="horizontal"
    android:layout_marginTop="85dp"

    >
    <TextView
        android:id="@+id/txtcalori_info"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Kalori: "
        android:textSize="16sp"
        android:textColor="#48B9AC"
        android:layout_weight="1"
        android:textStyle="italic"
        android:layout_marginLeft="12dp"
        android:layout_centerHorizontal="true"
        android:layout_toLeftOf="@+id/txtdistanceinfo"
        android:layout_below="@+id/progress_circular"
        android:gravity="center_horizontal"
        />

    <TextView
        android:id="@+id/txtdistanceinfo"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:textColor="#48B9AC"
        android:layout_below="@+id/progress_circular"
        android:layout_centerHorizontal="true"
        android:gravity="center_horizontal"
        android:layout_weight="1"
        android:text="Mesafe: "
        android:textSize="16sp"
        android:textStyle="italic" />

    <TextView
        android:id="@+id/txtstepinfo"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:gravity="center_horizontal"
        android:layout_below="@+id/progress_circular"
        android:layout_marginRight="12dp"
        android:textColor="#48B9AC"
        android:layout_weight="1"
        android:layout_toRightOf="@+id/txtdistanceinfo"
        android:text="Adım: "
        android:textSize="16sp"
        android:textStyle="italic" />



</LinearLayout>

我的 StepCounterFragment:

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    view = inflater.inflate(R.layout.fragment_count_step,container,false);

    getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);



    View view = inflater.inflate(R.layout.fragment_count_step, container, false);
    textView = view.findViewById(R.id.txtStepCount);
    txtstepinfo = view.findViewById(R.id.txtstepinfo);
    txtcalinfo = view.findViewById(R.id.txtcalori_info);
    txtDistanceinfo = view.findViewById(R.id.txtdistanceinfo);


    btnStart =  view.findViewById(R.id.btnstart);
    btnStop =    view.findViewById(R.id.btnstop);
    progressBar = view.findViewById(R.id.progress_circular);
    progressBar.setMax(10000);
    
    btnStart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startService();
        }
    });
    btnStop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            getActivity().stopService(new Intent(getActivity(), StepCountService.class));
        }
    });

    sharedPreferences = getActivity().getSharedPreferences("KEY", Context.MODE_PRIVATE);
    editor = sharedPreferences.edit();
    
    sensorManager = (SensorManager) getActivity().getSystemService(SENSOR_SERVICE);

    if(sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) != null){
        stepCounter = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
        isCounterSensorPresent = true;
    }
    else{
        textView.setText("Bulunamadı");
        isCounterSensorPresent = false ;
    }






    System.out.println(stepCount);


    return view;
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
    if (sensorEvent.sensor == stepCounter){
        stepCount = (int) sensorEvent.values[0];
        ////////////////
        saveSteps();
        resetStep();

        int stepNumb = sharedPreferences.getInt("step",0);
        ////////////////
        progressBar.setProgress(stepNumb);
        textView.setText(String.valueOf(stepNumb));
        txtstepinfo.setText("Adım: " +  String.valueOf(stepNumb) );
        ///////////
        progressBar.setProgress(stepNumb);
        Log.i("sda",String.valueOf(stepCount));
        /////////////////////
        txtcalinfo.setText("Kalori: "+calculateCalori(stepNumb));
        txtDistanceinfo.setText("Mesafe: "+calculateDistance(stepNumb));

    }

}

2 个答案:

答案 0 :(得分:0)

我认为这不是程序问题之一,可能是您的列表视图在屏幕上上升到底部。您可以研究如何为不同设备尺寸开发 android 应用程序。访问此处https://developer.android.com/training/multiscreen/screensizes

答案 1 :(得分:0)

我发现了问题所在。我忘了添加用户权限。

我添加到 Manifest.xml 中:

 <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>

onCreate 方法:

if(ContextCompat.checkSelfPermission(this,
        Manifest.permission.ACTIVITY_RECOGNITION) == PackageManager.PERMISSION_DENIED){
    //ask for permission
    requestPermissions(new String[]{Manifest.permission.ACTIVITY_RECOGNITION}, PHYISCAL_ACTIVITY);
}