Мне нужно передать ArrayList в действие, чтобы я мог перечислить его там, но я не хочу начинать это действие прямо сейчас.Мне нужно начать работу со списком с помощью другого нажатия кнопки «Показать отсканированный список».Потому что кнопка, на которую я хочу поставить проход, содержит только команду finish (), которую я использую, чтобы вернуться в главное меню, когда я подготовил свой список, и из этого меню перейти к кнопке «Показать список».другое действие, единственный способ, которым я знаю, как передать связку, является намерением.Но это снова запустит меню Activity.Я надеюсь, что кто-то может понять проблему, мне может понадобиться помощь здесь.
Спасибо впереди.
- РЕДАКТИРОВАТЬ -
package org.example.sudoku;
import java.util.ArrayList;
import android.app.Activity;
import android.app.ListActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.Intent;
public class Sudoku extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Set up click listeners for all the buttons
View exitButton = findViewById(R.id.exit_button);
exitButton.setOnClickListener(this);
View scanButton = findViewById(R.id.scan_button);
scanButton.setOnClickListener(this);
View editButton = findViewById(R.id.about_button);
editButton.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.scan_button:
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "ONE_D_MODE");
startActivityForResult(intent, 0);
break;
case R.id.about_button:
ArrayList<String> scanList = new ArrayList<String>();
scanList.add("asd");
scanList.add("asd2");
scanList.add("asd3");
//String[] names = new String[] { "Linux", "Windows7", "Eclipse", "Suse", "Ubuntu", "Solaris", "Android", "iPhone"};
Intent about = new Intent(this.getApplicationContext(),About.class);
Bundle b = new Bundle();
b.putStringArrayList("key", scanList);
about.putExtras(b);
startActivityForResult(about, 0);
break;
case R.id.exit_button:
finish();
break;
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
// Handle successful scan
Intent result = new Intent(this.getApplicationContext(),Result.class);
Bundle b = new Bundle();
b.putString("content",contents);
result.putExtras(b);
startActivityForResult(result, 0);
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
}
это мойосновная деятельность.Я не знаю, правильно ли я понимаю, но мне просто нужен еще один публичный void onActivityResult (int requestCode, int resultCode, Intent intent), который будет обрабатывать законченное действие C, которое было вызвано действием B?А один будет знать, что является причиной активности B идентификатора?Я надеюсь, что получил это.