Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 幻灯片视图中的文本视图显示文本和文本值错误[第n个文本视图在更改(第n个文本视图)和第x27个文本视图后返回其初始化值]_Java_Android_Debugging_Textview_Android Viewpager - Fatal编程技术网

Java 幻灯片视图中的文本视图显示文本和文本值错误[第n个文本视图在更改(第n个文本视图)和第x27个文本视图后返回其初始化值]

Java 幻灯片视图中的文本视图显示文本和文本值错误[第n个文本视图在更改(第n个文本视图)和第x27个文本视图后返回其初始化值],java,android,debugging,textview,android-viewpager,Java,Android,Debugging,Textview,Android Viewpager,我在SliderView中有这样一个文本视图 activitity_slider.xml <androidx.viewpager.widget.ViewPager android:id="@+id/slideViewPager" android:layout_width="match_parent" 这段代码的奇怪之处在于;运行该按钮时,第一个页面和第二个页面中的文本值会正确更改,但当第三个页面中的文本值更改时,它

我在SliderView中有这样一个文本视图

activitity_slider.xml
 <androidx.viewpager.widget.ViewPager
        android:id="@+id/slideViewPager"
        android:layout_width="match_parent"
这段代码的奇怪之处在于;运行该按钮时,第一个页面和第二个页面中的文本值会正确更改,但当第三个页面中的文本值更改时,它会重置第一个页面显示的值,但getText()方法会继承正确的值,但文本已冻结,无法再更改,之后,另一个页面的值也不能更改,但是getText()方法仍然可以正常工作并获得正确的值

不管怎样,任何想法都会加快我的调试过程

更新

SliderAdapter.java

    package gymholix.assistx;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;

public class SliderAdapter extends PagerAdapter {

    Context context;
    LayoutInflater layoutInflater;

    public SliderAdapter(Context context){
        this.context = context;
    }

    //Arrays
    public int[] slide_images = {
            R.drawable.ic_armcircle,
            R.drawable.ic_ropejump,
            R.drawable.ic_jumpingjack,
            R.drawable.ic_burpee,
            R.drawable.ic_squat
    };
    public String[] slide_headings = {
            "ArmCircle",
        "RopeJump",
        "JumpingJack",
        "Burpee",
        "Squat"
};
/*public String[] tekrar_sayisi = {
    "0",
    "0",
    "0",
    "0",
    "0"*/
public int[] tekrar_sayisi = {
        1,
        2,
        3,
        4,
        5
};



@Override
public int getCount() {
    return slide_headings.length;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
    return view == (RelativeLayout) object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
    View view =layoutInflater.inflate(R.layout.slide_layout, container, false);

    ImageView slideImageView = (ImageView) view.findViewById(R.id.HareketResmi);
    TextView slideHeading = (TextView) view.findViewById(R.id.HareketAdi);
    TextView slideTekraSayisi = (TextView) view.findViewById(R.id.TekrarSayisiSlide);

    slideImageView.setImageResource((slide_images[position]));
    slideHeading.setText(slide_headings[position]);
    slideTekraSayisi.setText(String.valueOf(tekrar_sayisi[position]));



    container.addView(view);

    return view;
}

@Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {

    }

}
Slider.Java

    package gymholix.assistx;


import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;


import android.content.Context;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Slider extends AppCompatActivity {


    private LinearLayout mDotLayout;
    private String asd;
    private int asdf;

    TextView DenemeSayiCek;
    int position;
    View view;
    int count;
    View viewFix;
    Context context;
    //Sensors---------------------------------------------------------------------------------------
    private Accelerometer accelerometer;
    private Gyroscope gyroscope;

    public double[] acc={3.00,2.00,1.00};
    public double[] gyr={3.00,2.00,1.00};

    //Sensors---------------------------------------------------------------------------------------
    //Main------------------------------------------------------------------------------------------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Antreman antreman = new Antreman();
        context = this;
        setContentView(R.layout.activity_slider);

        ViewPager AktifHareket = findViewById(R.id.slideViewPager);
        mDotLayout = findViewById(R.id.dotsLayout);
        SliderAdapter sliderAdapter = new SliderAdapter(this);
        AktifHareket.setAdapter((sliderAdapter));

        addDotsIndicator();

        //Saydir Buton------------------------------------------------------------------------------
        TextView Deneme = findViewById(R.id.deneme);
        TextView Deneme4 = findViewById(R.id.deneme4);
    

    TextView Deneme3 = findViewById(R.id.deneme3);
            TextView Deneme2 = findViewById(R.id.deneme2);
            Button Saydir = findViewById(R.id.SaydirSlide);
            Button Saydir2 = findViewById(R.id.Saydir2Slide);
            Saydir.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                position = AktifHareket.getCurrentItem();
                view = AktifHareket.getChildAt(position);
                count = AktifHareket.indexOfChild(view);
                viewFix = AktifHareket.getChildAt(count);
                DenemeSayiCek = viewFix.findViewById(R.id.TekrarSayisiSlide);
                asd = DenemeSayiCek.getText().toString();
                asdf = Integer.parseInt(asd);
                asdf++;
                DenemeSayiCek.setText(String.valueOf(asdf));
                Deneme.setText(String.valueOf(asd));
                Deneme2.setText(String.valueOf(position));
                Deneme3.setText(String.valueOf(asdf));
                Deneme4.setText(String.valueOf(SliderAdapter.POSITION_NONE));

            }
        });

        //Saydir Buton------------------------------------------------------------------------------
        //ImageButton-------------------------------------------------------------------------------
        ImageView logoImage = findViewById(R.id.logo);
        logoImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                antreman.AntremanSayfasi(context);
            }
        });
        antreman.AntremanSayfasi(context);//Açılışta Sayfayı açsın diye
        //ImageButton-------------------------------------------------------------------------------
        //Sensors-----------------------------------------------------------------------------------

        accelerometer = new Accelerometer(this);
        gyroscope = new Gyroscope(this);
        accelerometer.setListner(new Accelerometer.Listner() {
            @Override
            public void onTranslation(float ax, float ay, float az) {
                setAccValue(ax, ay, az);
                Antreman.GetSensorValues.OnAccelerometerChangeValues = acc;
            }
        });
        gyroscope.setListner(new Gyroscope.Listner() {
            @Override
            public void onRotation(float gx, float gy, float gz) {
                setGyroValue(gx, gy, gz);
                Antreman.GetSensorValues.OnGyroscopeChangeValues = gyr;
                //OnSensorChangeValues.add(1, String.valueOf(gyr) );
            }
        });
/*        Saydir2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });*/
        //Sensors-----------------------------------------------------------------------------------
    }
    //Sensors---------------------------------------------------------------------------------------
    protected void onResume(){
        super.onResume();

        accelerometer.register();
        gyroscope.register();
    }
    protected void onPouse(){
        super.onPause();
        accelerometer.unregister();
        gyroscope.unregister();
    }
    //Sensors---------------------------------------------------------------------------------------
    //SensorsValueGetAndSet-------------------------------------------------------------------------
    public double[] setAccValue(float ac, float bc, float cc){
        this.acc[0] = ac;
        this.acc[1] = bc;
        this.acc[2] = cc;
        return acc;
    }
    public double[] setGyroValue(float qq, float wq, float eq){
        this.gyr[0] = qq;
        this.gyr[1] = wq;
        this.gyr[2] = eq;
        return gyr;
    }
    public void getAccValue(float ac, float bc, float cc){
        ac = (float) acc[0];
        bc = (float) acc[1];
        cc = (float) acc[2];
    }
    public void getGyroValue(float qq, float wq, float eq){
        qq = (float) gyr[0];
        wq = (float) gyr[1];
        eq = (float) gyr[2];
    }
    //SensorsValueGetAndSet-------------------------------------------------------------------------
    public void addDotsIndicator(){
        TextView[] mDots = new TextView[3];
        for(int i = 0; i < mDots.length; i++){
            mDots[i] = new TextView(this);
            mDots[i].setText(Html.fromHtml("&#8226;"));
            mDots[i].setTextSize(35);
            mDots[i].setTextColor(getResources().getColor(R.color.colorPrimaryDark));
            mDotLayout.addView(mDots[i]);
        }
    }
    //----------------------------------------------------------------------------------------------
}
包gymholix.assistx;
导入androidx.appcompat.app.appcompat活动;
导入androidx.viewpager.widget.viewpager;
导入android.content.Context;
导入android.os.Bundle;
导入android.text.Html;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.LinearLayout;
导入android.widget.TextView;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.List;
公共类滑块扩展AppCompatActivity{
私人线路布局;
私人字符串asd;
私营企业发展基金;
TextView DenemeSayiCek;
内部位置;
视图;
整数计数;
查看视图修复;
语境;
//传感器---------------------------------------------------------------------------------------
专用加速度计;
专用陀螺仪;
公共双[]acc={3.00,2.00,1.00};
公共双[]gyr={3.00,2.00,1.00};
//传感器---------------------------------------------------------------------------------------
//主要------------------------------------------------------------------------------------------
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Antreman Antreman=新Antreman();
上下文=这个;
setContentView(R.layout.activity_滑块);
ViewPager-AktifHareket=findViewById(R.id.slideviewPage);
mDotLayout=findviewbyd(R.id.dotsLayout);
SliderAdapter SliderAdapter=新的SliderAdapter(此);
AktifHareket.setAdapter((滑块适配器));
addDotsIndicator();
//赛迪尔·布顿------------------------------------------------------------------------------
TextView-Deneme=findviewbyd(R.id.Deneme);
TextView Deneme4=findviewbyd(R.id.Deneme4);
TextView Deneme3=findviewbyd(R.id.Deneme3);
TextView Deneme2=findviewbyd(R.id.Deneme2);
按钮Saydir=findviewbyd(R.id.SaydirSlide);
按钮Saydir2=findViewById(R.id.Saydir2Slide);
Saydir.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
position=AktifHareket.getCurrentItem();
视图=AktifHareket.getChildAt(位置);
计数=AktifHareket.indexOfChild(视图);
viewFix=AktifHareket.getChildAt(计数);
DenemeSayiCek=viewFix.findViewById(R.id.tekrasayisslide);
asd=DenemeSayiCek.getText().toString();
asdf=整数.parseInt(asd);
asdf++;
DenemeSayiCek.setText(String.valueOf(asdf));
setText(String.valueOf(asd));
Deneme2.setText(String.valueOf(position));
Deneme3.setText(String.valueOf(asdf));
Deneme4.setText(String.valueOf(SliderAdapter.POSITION_NONE));
}
});
//赛迪尔·布顿------------------------------------------------------------------------------
//图像按钮-------------------------------------------------------------------------------
ImageView logoImage=findViewById(R.id.logo);
logoImage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
antreman.AntremanSayfasi(上下文);
}
});
antreman.AntremanSayfasi(上下文);//Aılıta SayfayıAısın diye
//图像按钮-------------------------------------------------------------------------------
//传感器-----------------------------------------------------------------------------------
加速计=新加速计(本);
陀螺仪=新陀螺仪(本);
Accelerator.setListner(新的Accelerator.Listner(){
@凌驾
公共无效转换(浮动ax、浮动ay、浮动az){
setAccValue(ax、ay、az);
Antreman.GetSensorValues.OnAccelerometerChangeValues=acc;
}
});
陀螺仪.setListner(新陀螺仪.Listner(){
@凌驾
旋转时的公共空隙(浮动gx、浮动gy、浮动gz){
设定值(gx、gy、gz);
Antreman.GetSensorValues.OnGyroscopeChangeValues=gyr;
//OnSensorChangeValues.add(1,String.valueOf(gyr));
}
});
/*Saydir2.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});*/
//传感器-----------------------------------------------------------------------------------
}
//传感器---------------------------------------------------------------------------------------
受保护的void onResume(){
super.onResume();
寄存器();
陀螺仪寄存器();
}
受保护的void onPouse(){
super.onPause();
.unregister();
陀螺仪。取消注册();
}
//传感器-----------------------------------------------------
    package gymholix.assistx;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;

public class SliderAdapter extends PagerAdapter {

    Context context;
    LayoutInflater layoutInflater;

    public SliderAdapter(Context context){
        this.context = context;
    }

    //Arrays
    public int[] slide_images = {
            R.drawable.ic_armcircle,
            R.drawable.ic_ropejump,
            R.drawable.ic_jumpingjack,
            R.drawable.ic_burpee,
            R.drawable.ic_squat
    };
    public String[] slide_headings = {
            "ArmCircle",
        "RopeJump",
        "JumpingJack",
        "Burpee",
        "Squat"
};
/*public String[] tekrar_sayisi = {
    "0",
    "0",
    "0",
    "0",
    "0"*/
public int[] tekrar_sayisi = {
        1,
        2,
        3,
        4,
        5
};



@Override
public int getCount() {
    return slide_headings.length;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
    return view == (RelativeLayout) object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
    View view =layoutInflater.inflate(R.layout.slide_layout, container, false);

    ImageView slideImageView = (ImageView) view.findViewById(R.id.HareketResmi);
    TextView slideHeading = (TextView) view.findViewById(R.id.HareketAdi);
    TextView slideTekraSayisi = (TextView) view.findViewById(R.id.TekrarSayisiSlide);

    slideImageView.setImageResource((slide_images[position]));
    slideHeading.setText(slide_headings[position]);
    slideTekraSayisi.setText(String.valueOf(tekrar_sayisi[position]));



    container.addView(view);

    return view;
}

@Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {

    }

}
    package gymholix.assistx;


import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;


import android.content.Context;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Slider extends AppCompatActivity {


    private LinearLayout mDotLayout;
    private String asd;
    private int asdf;

    TextView DenemeSayiCek;
    int position;
    View view;
    int count;
    View viewFix;
    Context context;
    //Sensors---------------------------------------------------------------------------------------
    private Accelerometer accelerometer;
    private Gyroscope gyroscope;

    public double[] acc={3.00,2.00,1.00};
    public double[] gyr={3.00,2.00,1.00};

    //Sensors---------------------------------------------------------------------------------------
    //Main------------------------------------------------------------------------------------------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Antreman antreman = new Antreman();
        context = this;
        setContentView(R.layout.activity_slider);

        ViewPager AktifHareket = findViewById(R.id.slideViewPager);
        mDotLayout = findViewById(R.id.dotsLayout);
        SliderAdapter sliderAdapter = new SliderAdapter(this);
        AktifHareket.setAdapter((sliderAdapter));

        addDotsIndicator();

        //Saydir Buton------------------------------------------------------------------------------
        TextView Deneme = findViewById(R.id.deneme);
        TextView Deneme4 = findViewById(R.id.deneme4);
    

    TextView Deneme3 = findViewById(R.id.deneme3);
            TextView Deneme2 = findViewById(R.id.deneme2);
            Button Saydir = findViewById(R.id.SaydirSlide);
            Button Saydir2 = findViewById(R.id.Saydir2Slide);
            Saydir.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                position = AktifHareket.getCurrentItem();
                view = AktifHareket.getChildAt(position);
                count = AktifHareket.indexOfChild(view);
                viewFix = AktifHareket.getChildAt(count);
                DenemeSayiCek = viewFix.findViewById(R.id.TekrarSayisiSlide);
                asd = DenemeSayiCek.getText().toString();
                asdf = Integer.parseInt(asd);
                asdf++;
                DenemeSayiCek.setText(String.valueOf(asdf));
                Deneme.setText(String.valueOf(asd));
                Deneme2.setText(String.valueOf(position));
                Deneme3.setText(String.valueOf(asdf));
                Deneme4.setText(String.valueOf(SliderAdapter.POSITION_NONE));

            }
        });

        //Saydir Buton------------------------------------------------------------------------------
        //ImageButton-------------------------------------------------------------------------------
        ImageView logoImage = findViewById(R.id.logo);
        logoImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                antreman.AntremanSayfasi(context);
            }
        });
        antreman.AntremanSayfasi(context);//Açılışta Sayfayı açsın diye
        //ImageButton-------------------------------------------------------------------------------
        //Sensors-----------------------------------------------------------------------------------

        accelerometer = new Accelerometer(this);
        gyroscope = new Gyroscope(this);
        accelerometer.setListner(new Accelerometer.Listner() {
            @Override
            public void onTranslation(float ax, float ay, float az) {
                setAccValue(ax, ay, az);
                Antreman.GetSensorValues.OnAccelerometerChangeValues = acc;
            }
        });
        gyroscope.setListner(new Gyroscope.Listner() {
            @Override
            public void onRotation(float gx, float gy, float gz) {
                setGyroValue(gx, gy, gz);
                Antreman.GetSensorValues.OnGyroscopeChangeValues = gyr;
                //OnSensorChangeValues.add(1, String.valueOf(gyr) );
            }
        });
/*        Saydir2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });*/
        //Sensors-----------------------------------------------------------------------------------
    }
    //Sensors---------------------------------------------------------------------------------------
    protected void onResume(){
        super.onResume();

        accelerometer.register();
        gyroscope.register();
    }
    protected void onPouse(){
        super.onPause();
        accelerometer.unregister();
        gyroscope.unregister();
    }
    //Sensors---------------------------------------------------------------------------------------
    //SensorsValueGetAndSet-------------------------------------------------------------------------
    public double[] setAccValue(float ac, float bc, float cc){
        this.acc[0] = ac;
        this.acc[1] = bc;
        this.acc[2] = cc;
        return acc;
    }
    public double[] setGyroValue(float qq, float wq, float eq){
        this.gyr[0] = qq;
        this.gyr[1] = wq;
        this.gyr[2] = eq;
        return gyr;
    }
    public void getAccValue(float ac, float bc, float cc){
        ac = (float) acc[0];
        bc = (float) acc[1];
        cc = (float) acc[2];
    }
    public void getGyroValue(float qq, float wq, float eq){
        qq = (float) gyr[0];
        wq = (float) gyr[1];
        eq = (float) gyr[2];
    }
    //SensorsValueGetAndSet-------------------------------------------------------------------------
    public void addDotsIndicator(){
        TextView[] mDots = new TextView[3];
        for(int i = 0; i < mDots.length; i++){
            mDots[i] = new TextView(this);
            mDots[i].setText(Html.fromHtml("&#8226;"));
            mDots[i].setTextSize(35);
            mDots[i].setTextColor(getResources().getColor(R.color.colorPrimaryDark));
            mDotLayout.addView(mDots[i]);
        }
    }
    //----------------------------------------------------------------------------------------------
}
@Override
protected void onCreate(Bundle savedInstanceState) {
        ...
    int size = sliderAdapter.slide_headings.length;
    AktifHareket.setOffscreenPageLimit(size);