从先前的意图中获取变量值

时间:2014-02-28 19:36:11

标签: android android-intent

我想问一下如何从以前的意图中获取一个值,将其用于我的Android应用程序中的下一个活动。

- >这是我的第一个活动

    public class Input extends Activity {

ArrayAdapter<String> m_adapter;
ArrayList<String> m_listItems = new ArrayList<String>();
/** Called when the activity is first created. */

Button bt;
EditText et,et2;
TextView tv;
ListView lv;
int count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_input);

    //add

    bt = (Button) findViewById(R.id.button1);
    et = (EditText) findViewById(R.id.text1);
    et2 = (EditText) findViewById(R.id.text2);
    tv = (TextView) findViewById(R.id.textView1);

    final String input = et.getText().toString();
    final String input2 = et2.getText().toString();

    bt.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                String input = et.getText().toString();
                String input2 = et2.getText().toString();
                if(null!=input&&input.length()>0){     

                m_listItems.add(input);
                m_listItems.add(input2);
                m_adapter.notifyDataSetChanged();
                count++;

              }
            }
        });


    //shazaam
    Button random = (Button) findViewById(R.id.button2);
    random.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View arg0) 
        {
            Intent shazam = new Intent(Input.this,Random.class);
            startActivity(shazam);

        }

    });


}

我无法想出第二个活动,因为我需要利用变量,以及我从上面的活动中创建的列表。 我打算做的是获取计数值,以及我输入的列表项。 我是创建这样的应用程序的新手,它真的花了我所有的时间。 感谢您的帮助。 :)

除此之外,我认为我的应用程序有问题,我不知道该怎么做,每次按下按钮,它都会消隐但不会崩溃,而是转到应用程序的首页。 / p>

1 个答案:

答案 0 :(得分:1)

该用例是使用意图的原因之一,用于将额外值传递给活动。

Intent shazam = new Intent(Input.this,Random.class);
Bundle b = new Bundle();
b.putInt("count", count);
b.putStringArrayList("list", m_listItems);
shazam.putExtras(b);
startActivity(shazam);

然后是另一项活动:

Bundle b = getIntent().getExtras();
int count = b.getInt("count");
ArrayList<String> list = b.getStringArrayList("list");