这就是我所拥有的:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
public class FireScreen extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firescreen);
EditText FIinvolvedtext = (EditText) findViewById(R.id.FIinvolvedtext);
String fireinvolvedsave = FIinvolvedtext.getText().toString();
View FIUnitsStart = findViewById(R.id.FIUnitsStart);
FIUnitsStart.setOnClickListener(this);
View FIMainResume = findViewById(R.id.FIMainResume);
FIMainResume.setOnClickListener(this);
Spinner fire_type_spin = (Spinner) findViewById(R.id.FItypespin);
ArrayAdapter<CharSequence>
adapter = ArrayAdapter.createFromResource(this, R.array.typespin_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fire_type_spin.setAdapter(adapter);
Spinner fire_type_array = (Spinner) findViewById(R.id.FIareaspin);
ArrayAdapter<CharSequence>
adapter1 = ArrayAdapter.createFromResource(this, R.array.areaspin_array, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fire_type_array.setAdapter(adapter1);
Spinner action_type_spin = (Spinner) findViewById(R.id.FIactionspin);
ArrayAdapter<CharSequence>
adapter11 = ArrayAdapter.createFromResource(this, R.array.actionspin_array, android.R.layout.simple_spinner_item);
adapter11.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
action_type_spin.setAdapter(adapter11);}
public void onClick(View v) {
switch(v.getId()){
case R.id.FIUnitsStart:
Intent UnitScreen = new Intent(this, UnitScreen.class);
UnitScreen.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(UnitScreen);
break;
case R.id.FIMainResume:
Intent Main = new Intent(this, Main.class);
Main.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Main);
break;
Intent pass = new Intent(getApplicationContext(), Main.class);
String keyIdentifer = null;
pass.putExtra("Involved", fireinvolvedsave);
// Getting an error here: fireinvolvedsave cannot be resolved to a variable
startActivity(pass);}}}
帮助 - 我有7个活动需要传回主要活动,所以我可以将它们放到电子邮件中---有点卡在这里
答案 0 :(得分:0)
fireinvolvedsave无法看到,因为您将它声明为局部变量的方法与您正在读取的方法不同;您需要在public String
public class FireScreen ... {
等将其声明为活动的字段
public class FireScreen extends Activity implements OnClickListener
{
private String fireinvolvedsave;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.firescreen);
EditText FIinvolvedtext = (EditText) findViewById(R.id.FIinvolvedtext);
fireinvolvedsave = FIinvolvedtext.getText().toString();
// rest of original code for onCreate goes here
}
public void onClick(View v)
{
// original code etc
Intent pass = new Intent(getApplicationContext(), Main.class);
// this now has a value:
pass.putExtra("Involved", fireinvolvedsave);
startActivity(pass);
}
}
尝试类似
的内容Intent myIntent = getIntent();
String strText = myIntent.getStringExtra("Involved");
然后
emailIntent.putExtra(EXTRA_TEXT, strText);
答案 1 :(得分:0)
这样做:
final String fireinvolvedsave = FIinvolvedtext.getText().toString();
看看是否有效。
编辑:所以对你的格式感到困惑。核心问题是您在实例函数中使用方法局部变量。您需要将其作为整个Activity的实例变量。您的onCreate
现在看起来像这样:
String fireinvolvedsave;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firescreen);
EditText FIinvolvedtext = (EditText) findViewById(R.id.FIinvolvedtext);
fireinvolvedsave = FIinvolvedtext.getText().toString();
答案 2 :(得分:0)
有几种不同的方法可以做到这一点。例如你可以让fireinvolvedsave一个实例变量,如Ben建议的那样。
但是,由于您似乎只在onClick()方法中使用它,这是最简单的方法。将这些行从onCreate()移动到onClick():
EditText FIinvolvedtext = (EditText) findViewById(R.id.FIinvolvedtext);
String fireinvolvedsave = FIinvolvedtext.getText().toString();
答案 3 :(得分:0)
just try this
public class FireScreen extends Activity implements OnClickListener
{
String fireinvolvedsave ;
EditText FIinvolvedtext;
View FIUnitsStart,FIMainResume;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.firescreen);
FIinvolvedtext = (EditText) findViewById(R.id.FIinvolvedtext);
fireinvolvedsave = FIinvolvedtext.getText().toString();
FIUnitsStart = findViewById(R.id.FIUnitsStart);
FIUnitsStart.setOnClickListener(this);
FIMainResume = findViewById(R.id.FIMainResume);
FIMainResume.setOnClickListener(this);
Spinner fire_type_spin = (Spinner) findViewById(R.id.FItypespin);
ArrayAdapter<CharSequence>
adapter = ArrayAdapter.createFromResource(this, R.array.typespin_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fire_type_spin.setAdapter(adapter);
Spinner fire_type_array = (Spinner) findViewById(R.id.FIareaspin);
ArrayAdapter<CharSequence>
adapter1 = ArrayAdapter.createFromResource(this, R.array.areaspin_array, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fire_type_array.setAdapter(adapter1);
Spinner action_type_spin = (Spinner) findViewById(R.id.FIactionspin);
ArrayAdapter<CharSequence>
adapter11 = ArrayAdapter.createFromResource(this, R.array.actionspin_array, android.R.layout.simple_spinner_item);
adapter11.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
action_type_spin.setAdapter(adapter11);
}
public void onClick(View v)
{
switch(v.getId())
{
case R.id.FIUnitsStart: Intent UnitScreen = new Intent(this, UnitScreen.class);
UnitScreen.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(UnitScreen);
break;
case R.id.FIMainResume:Intent Main = new Intent(this, Main.class);
Main.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Main);
break;
default: Intent pass = new Intent(FireScreen.this, Main.class);
pass.putExtra("Involved", fireinvolvedsave);
startActivity(pass);
}
}
}