首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用textView数组进行问卷调查应用程序

使用textView数组进行问卷调查应用程序
EN

Stack Overflow用户
提问于 2015-02-02 02:58:22
回答 2查看 138关注 0票数 1

我想要构建一个问卷类型的应用程序,这些问题会单独出现,当用户提交答案并单击按钮时,数据将存储在上面的textView中,问题转到下一个问题,在新的textView中存储该答案。我很难让这个问题转到下一个问题。

下面我尝试使用数组方法,但在这里都出现了错误

代码语言:javascript
复制
myTexts[0]=findViewById(R.id.question1);
myTexts[1]=findViewById(R.id.question2); 

--和

代码语言:javascript
复制
 myTexts[questionNumber].setText(mEdit.getText().toString());
 questionNumber++;

以下是完整的源代码:

代码语言:javascript
复制
package com.example.greg;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class menu extends Activity {

Button   mButton;
EditText mEdit;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mButton = (Button)findViewById(R.id.button);
    mEdit   = (EditText)findViewById(R.id.userAnswereditText);

    TextView [] myTexts = new TextView[2];
    myTexts[0]=findViewById(R.id.question1);
    myTexts[1]=findViewById(R.id.question2);

    int questionNumber = 0;
    mButton.setOnClickListener(
    new View.OnClickListener()
       {
            public void onClick(View view)
            {

                myTexts[questionNumber].setText(mEdit.getText().toString());
                questionNumber++;   
            }
        });


}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-02 07:11:54

要更改问题,您应该有可以容纳所有问题的字符串数组或字符串列表,一旦单击按钮并将答案存储在TextView中,您将从包含问题的数组或字符串列表中加载下一个问题。

代码语言:javascript
复制
 String [] questions;
 int numberOfQuestions = 2;

然后在onCreate()方法中

代码语言:javascript
复制
 questions=new String[numberOfQuestions];//numberOfQuestion refers to integer that holds total number of questions
 questions[0]="This is first question?";
 questions[1]="This is second question?";

现在在你的view.onClickListener里

代码语言:javascript
复制
mButton.setOnClickListener(
new View.OnClickListener()
   {
        public void onClick(View view)
        {

            myTexts[questionNumber].setText(mEdit.getText().toString());
            questionNumber++;   
            //here you will have to load the next question 
            if(questionNumber < numberOfQuestions)
                questionTextViewHolder.setText(questions[questionNumber]);
            else
                Toast.makeText(menu.this,"No more questions!",Toast.LENGTHLONG).show();

            //Note one thing that your questionNumber variable should not increase myTexts length or questions length because if it does you will get  exception
        }
    });

questionTextViewHolder是显示要回答的问题的TextView,您必须将"questionTextViewHolder“替换为显示问题的文本视图!如果您遵循编码约定,类名菜单开始字母应该是大写字母。

票数 1
EN

Stack Overflow用户

发布于 2015-02-02 03:11:09

这不是应该..。

代码语言:javascript
复制
myTexts[0]=findViewById(R.id.question1);

TextView的演员吧?

代码语言:javascript
复制
myTexts[0]=(TextView)findViewById(R.id.question1);

这肯定会消除一个ClassCastException

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28270532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档