首页 > 解决方案 > 如何在 OnClickListener 中迭代我的变量?

问题描述

我是 java 和 Android 的新手,我想知道如何增加 cardVar 变量?

public class xyz{


private void getLevelData(final CourseDataClass courseData) {

    int cardVar = 0;
    int levelVar=0;

    courseLevel = courseData.getCourseLevelClassList().get(levelVar);

    proceedChat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final int finalCardVar = cardVar;
            long levelId = courseLevel.getLevelId();
            int courseId = courseLevel.getLpId();
            long cardId = courseLevel.getCourseCardClassList().get(finalCardVar).getCardId();

            String getCardUrl = OustSdkApplication.getContext().getResources().getString(R.string.getCard_url);
            getCardUrl = getCardUrl.replace("cardId", String.valueOf(cardId));
            getCardUrl = getCardUrl.replace("{courseId}", String.valueOf(courseId));
            getCardUrl = getCardUrl.replace("{levelId}", String.valueOf(levelId));

            try{
                final String finalGetCardUrl = getCardUrl;
                new Thread() {
                    @Override
                    public void run() {
                        try {
                            OustRestClient oustRestClient=new OustRestClient();
                            LearningCardResponce learningCardResponce=oustRestClient.downloadCardData(finalGetCardUrl);
                            Log.d(TAG,"learningCardResponse");
                            gotResponse(learningCardResponce);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
            } catch (Exception e){
                e.printStackTrace();
            }
        }
    });
}
}

我想将我的 cardVar 初始设置为 0,然后在线程方法结束后,想要增加它的值,以便每当调用 OnClickListener 时,它会将 cardVar 的值增加 1

提前致谢!!

标签: javaandroid

解决方案


您可以将变量添加为方法属性。它将在OnClickListener.

public class xyz{

private int cardVar = 0;

private void getLevelData(final CourseDataClass courseData) {

    int levelVar=0;

    courseLevel = courseData.getCourseLevelClassList().get(levelVar);

    proceedChat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // DO YOUR STUFF
            cardVar++;
        }
    }
}

最好的


推荐阅读