我是一个制作Bingo或Tambola或Housie游戏的应用程序...只要用户单击该按钮,就会生成一个数字按钮,然后它应该获得随机数并将其发送到活动b(或board.java),以便该活动(板)将被选中并突出显示,以便当用户想要检查板时,他可以通过按钮转到该活动,并查看已完成所有编号的操作... 这里我不知道怎么做
这是主要活动代码;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class NumberActivity extends AppCompatActivity
{
ImageView ivBoard, ivGenerate;
TextView tvNumber;
public int randomNumber;
public int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_number);
ivBoard = findViewById(R.id.ivBoard);
ivGenerate = findViewById(R.id.ivGnn);
tvNumber = findViewById(R.id.tvNumber);
final Integer[] numbers = new Integer[90];
for (int i = 0; i < 90; i++) {
numbers[i] = i+1;
}
final Intent activityIntent;
List<Integer> integerList = Arrays.asList(numbers);
Collections.shuffle(integerList);
integerList.toArray(numbers);
randomNumber = numbers[count];
count++;
ivBoard.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
Intent intent = new Intent(NumberActivity.this, com.example.fullhouse.Board.class);
startActivity(intent);
}
});
ivGenerate.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
randomNumber = numbers[count];
System.out.println(randomNumber);
count++;
Intent intent = new Intent(NumberActivity.this, com.example.fullhouse.Board.class);
intent.putExtra("number", randomNumber);
// if (activityIntent != null) {
// startActivity(activityIntent);
// } else {
// // show error that user didn't clicked on ivBoard via Toast or some logic
// }
}
});
}
}
如果需要,请让我知道添加任何其他代码或内容 我尊重您的回答,谢谢
答案 0 :(得分:0)
根据您的问题如何在不启动活动B的情况下将数据发送到活动b ,我想说的是,可以将数据从活动发送到另一个活动而无需启动它。您可以使用LocalBroadcastManager
或EventBus。
这些资源可能对您有很大帮助:
答案 1 :(得分:-1)
您可以将整个列表存储在Intent对象中并反序列化:
method(dateRange){
listOfDate = expandDate(dateRange);
forkjoinRecursiveTask = new RecursiveTask(ListOFdates)
forkjoinpool.submit(forkjoinRecursiveTask)
result = forkjoinRecursiveTask.join()
}
在董事会活动的接收方:
ivGenerate.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
Intent intent = new Intent(NumberActivity.this,
com.example.fullhouse.Board.class);
List<Integer> values = getListOfIntegers();
intent.putExtra("YOUR_KEY", values);
startActivity(activityIntent);
}
});