Android:将数据传递给新的Activity

时间:2011-04-17 01:33:47

标签: android

我是Android编程的新手,我很确定这就是我需要的东西。我有一个在启动时加载的页面,它有一个微调器,一些编辑文本框和两个按钮。一个按钮清除盒子并重置微调器。另一个按钮应该加载一个新的活动(我猜),我需要EditTexts中的内容以及由此加载的微调器。

现在我有一个祝酒词,所以我可以测试一切都被正确抓住了。这是我现在的活动:

import android.app.Activity;
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;
import android.widget.Toast;

public class directoryApp extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.searchscreen);

        //Declaring these so I can use them when the button is clicked.
        final Spinner depts = (Spinner) findViewById(R.id.dept);
        final ArrayAdapter<CharSequence> deptsAdapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_item);
        deptsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        final EditText fname = (EditText) findViewById(R.id.fname);
        final EditText lname = (EditText) findViewById(R.id.lname);
        final EditText aim = (EditText) findViewById(R.id.aim);
        final EditText phone = (EditText) findViewById(R.id.phone);
        depts.setAdapter(deptsAdapter);
        for(int i = 0 ; i < fillSpinner().length ; i++){
            deptsAdapter.add(fillSpinner()[i]);
        }


        //Search Button on click, makes a "toast" message with grabbed web string and whatever was entered into the fields.
        findViewById(R.id.search).setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                //Here is where the search button does it's thing.
                Toast.makeText(BNYDirectory.this, fname.getText() + " " + lname.getText() + " " + aim.getText() + " " + phone.getText() + " " + depts.getSelectedItem() + " " + deptIDs()[(int)depts.getSelectedItemId()], Toast.LENGTH_SHORT).show();
            }
        });
    }
}

我需要传递fname.getText(),lname.getText(),aim.getText(),phone.getText()和deptIDs()[(int)depts.getSelectedItemId()](所有这些我我得到了字符串)。

进入下一页的最佳方法是什么(我将使用这些来获得结果并显示)?也有可能在点击搜索时我可以从网上获取结果并将其放入字符串数组中并且只传递它,但我宁愿不这样做。

我可以使用的任何例子吗?

1 个答案:

答案 0 :(得分:7)

您创建一个Intent,指定第二个活动的类名。然后,您将额外的数据添加到intent中,每个数据都与一个唯一的字符串相关联,该字符串用作查找数据的键。然后,新活动可以使用相同的密钥检索数据。有关示例代码,请参阅资源文档的“常见任务”部分中的Opening a New Screen部分。