Android TextView OnClick-Event 不起作用

我必须编写一个 TicTacToe 应用程序:

这是 Activity_main.xml 的代码:(这是一个黑色背景上的 TextViews 的简单 3x3 字段)

这是MainActivity.java的代码:


package com.example.tictactoe;


import androidx.appcompat.app.AppCompatActivity;


import android.content.pm.ActivityInfo;

import android.os.Bundle;

import android.view.View;

import android.widget.TextView;


public class MainActivity extends AppCompatActivity {


    private int counter = 1;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        getSupportActionBar().hide();

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    }


    public void click_top_left(View v) { click_action((TextView)findViewById(R.id.tictactoe_top_left)); }

    public void click_top_center(View v) { click_action((TextView)findViewById(R.id.tictactoe_top_center)); }

    public void click_top_right(View v) { click_action((TextView)findViewById(R.id.tictactoe_top_right)); }


    public void click_center_left(View v) { click_action((TextView)findViewById(R.id.tictactoe_center_left)); }

    public void click_center_center(View v) { click_action((TextView)findViewById(R.id.tictactoe_center_center)); }

    public void click_center_right(View v) { click_action((TextView)findViewById(R.id.tictactoe_center_right)); }


    public void click_bottom_left(View v) { click_action((TextView)findViewById(R.id.tictactoe_bottom_left)); }

    public void click_bottom_center(View v) { click_action((TextView)findViewById(R.id.tictactoe_bottom_center)); }

    public void click_bottom_right(View v) { click_action((TextView)findViewById(R.id.tictactoe_bottom_right)); }


    public void click_action(TextView tv) {

        if ((counter%2)==0)

            tv.setText("O");

        else

            tv.setText("X");

        counter++;

    }

}

我已将 android:clickable 设置为 true。我设置了一个 onclick 监听器。我根本找不到我的错误......


我将不胜感激任何形式的帮助!


当年话下
浏览 150回答 2
2回答

慕工程0101907

您已设置所有TextViews:android:enabled="false"为什么?将其更改为:android:enabled="true"

ibeautiful

首先给你的textview一个id,然后定义一个示例,就像Textview textview在java中找到它一样,并在onCreate方法中使用setOnClickListener(),如下所示。它肯定会起作用。 textveiw.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) { }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java