按钮转移到下一页,并开始一个游戏



标题很难解释。据我所知,提交按钮取名称并按我的意愿将其放入数组中。我现在需要的是播放(完成)按钮将用户和数据转移到下一个类(我相信这是正确的编码),我需要它来开始游戏。你将在第二类中看到的游戏(从上一个类中获取数据),我需要它一次显示名称数组中的名称,并随机从任务数组中分配给他们一个任务。

目前的应用程序是强制关闭后,我点击播放按钮。我把这两门课联系起来,因为我很确定问题出在第二门课。谢谢你的提前帮助。

Class1

public class Class1 extends Activity
{
    int players=0;
    String names[];
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.class1);
    final EditText input = (EditText) findViewById(R.id.nameinput);
    final ArrayList<String> names = new ArrayList<String>();

    Button submitButton = (Button) findViewById(R.id.submit_btn);
    submitButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View submit1)
        {
            players++;
            for(int i=0; i < 6; i++)
            {
                names.add(input.getText().toString());
                input.setText("");
            }
        }
    });
    Button doneButton = (Button) findViewById(R.id.done_btn);
    doneButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View done1)
        {
            Intent done = new Intent(Class1.this, Game.class);
            Bundle bundle = new Bundle();
            bundle.putStringArrayList("arrayKey", names);
            done.putExtra("players", players);
            //done.putExtra("names", names[players]);
            startActivity(done);
        }
    });
}
游戏类

public class Game extends Activity
{
    int players, counter=0, score, ptasks,rindex;
    String[] names, tasks;
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game);
    Bundle bundle = this.getIntent().getExtras();
    String[] names = bundle.getStringArray("arrayKey");
    Intent game = getIntent();
    players = game.getIntExtra("players", 1);
    //names = game.getStringArrayExtra("names");
    Random generator = new Random();
    tasks[0]= "";
    tasks[1]= "";
    tasks[2]= "";
    tasks[3]= "";
    tasks[4]= "";
    tasks[5]= "";
    tasks[6]= "";
    tasks[7]= "";
    tasks[8]= "";
    tasks[9]= "";

    while (counter <5)
    {
        for (int i = 0; i < players; i++)
        {
            TextView name1 = (TextView) findViewById(R.id.pname);
            name1.setText( names[i]+":");
            ptasks = 10;
            rindex = generator.nextInt(ptasks);
            TextView task = (TextView) findViewById(R.id.task);
            task.setText( tasks[rindex]);

        }
        Button failButton = (Button) findViewById(R.id.fail_btn);
        failButton.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View failed)
            {
            }
        });
        Button notButton = (Button) findViewById(R.id.notbad_btn);
        notButton.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View notbad)
            {
            }
        });
        Button champButton = (Button) findViewById(R.id.champ_btn);
        champButton.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View champp)
            {
            }
        });

        counter++;
    }

}

我想我也应该提到这些按钮在第二页上,我想分配一个分数给任何名字数组的人,并保持跟踪,直到最后一轮,它将显示获胜者。如果有人知道怎么做的话

你确定包括游戏活动作为一个应用程序节点在你的AndroidManifest?

如果没有,打开你的清单到应用程序选项卡,在底部点击添加,并添加一个名为。game的Activity

您已经被告知在这里使用未初始化的数组:EditText并使用按钮提交它们。你也会尝试获取array extra,但你不会把它放在intent中。在Game类中使用未初始化的tasks数组

相关内容

最新更新