java - OnClick在其他JAVA文件Android中加载数组

标签 java android arrays onclick

我正忙着用 java 和 xml 制作一个 android 应用程序。这是一种益智游戏,有点类似于数独。

所以我有一个 ScrollView ,里面有一个表格布局。我的表行比此代码中的多,但也没有必要显示它们。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/wallpaper"
>      

<TableLayout

    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="*" 
    >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:minHeight="50dp"
        android:background="@drawable/cell_shape"

         >

        <TextView
            android:textColor="@color/black"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/game1"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_gravity="center"

        />

        <TextView
            android:textColor="@color/black"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/yes"
            android:layout_gravity="center"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </TableRow>
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="fill_parent"
        android:minHeight="50dp"
        android:background="@drawable/cell_shape"
         >

        <TextView
            android:textColor="@color/black"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/game2"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_gravity="center"

            />

        <TextView
            android:textColor="@color/black"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/yes"
            android:layout_gravity="center"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </TableRow>
    </TableLayout>
</ScrollView>

如果我单击表格行,我会使用此代码进入其他 Activity 。

TableRow game1 = (TableRow) findViewById(R.id.tableRow1);
    game1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent myIntent = new Intent(view.getContext(), Game1.class);
            startActivityForResult(myIntent, 0);
        }

    });
TableRow game2 = (TableRow) findViewById(R.id.tableRow2);
    game2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent myIntent = new Intent(view.getContext(), Game2.class);
            startActivityForResult(myIntent, 0);
        }

    });

现在我为每个游戏都有一个其他 Activity ,但游戏之间的唯一区别是一些数组。 所以我想做的是,当我单击 TableRow 时,我想更改其他 java 文件中某些数组的值。因此,我不必为每个游戏创建一个 Activity ,而只需为一个具有变化值的 Activity 。

对于 game1,我想在 games.java 文件中设置这些数组:

int firstrow[] = { 2,  1, 2, 0} ;       
int secondrow[] = { 2,  2, 1, 2} ;          
int thirdrow[] = { 2,  0, 0, 2} ;           
int fourthrow[] = { 1,  2, 2, 2} ;   
int firstrowanswer[] = { 0, 1, 1, 0} ;  
int secondrowanswer[] = { 0, 0, 1, 1} ;     
int thirdrowanswer [] = { 1, 0, 0, 1} ;     
int fourthrowanswer[] = { 1, 1, 0, 0} ;

以游戏2为例

int firstrow[] = { 2,  0, 2, 1} ;       
int secondrow[] = { 2,  0, 2, 2} ;          
int thirdrow[] = { 0,  2, 2, 1} ;           
int fourthrow[] = { 0,  2, 2, 2} ;   
int firstrowanswer[] = { 1, 0, 0, 1} ;  
int secondrowanswer[] = { 1, 0, 1, 0} ;     
int thirdrowanswer [] = { 0, 1, 0, 1} ;     
int fourthrowanswer[] = { 0, 1, 1, 0} ;

如何通过单击表格行来设置其他文件中数组的值?

最佳答案

为什么不将这些数组作为 Intent extra 传递?

Intent gameActivity = new Intent(this, GameActivity.class);
gameActivity.putExtra("firstRow", arrayForFirstRow);
gameActivity.putExtra("secondRow", arrayForSecondRow);
...
startActivity(gameActivity);

关于java - OnClick在其他JAVA文件Android中加载数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21659507/

相关文章:

java - Android Studio中添加JsonPath导致非零退出值2错误

android - 遍历AccessibilityService中的AccessibilityNodeInfos

arrays - 计算数组中与 Julia 中某些条件匹配的行的最快方法

PHP:检查数组元素是否存在跳过一级

java - 返回语句中的错误消息。

java - Kotlin:获取文件的扩展名,例如 ".txt"

android - 在android中注册广播接收器

java - 线性数组搜索

java - 如何验证下拉列表并将其保存在数据库中,并且代码不显示错误

java - 如何从 View 类重复另一个类中的 Activity