如何将字符串从意图传递到第二活动

时间:2019-01-17 21:39:25

标签: android android-intent textview

我有意地从Array发送了我的字符串,并在textview中显示了该字符串,但是当我运行该程序时,它崩溃了。

这是我的mainActivity

list = (ListView) findViewById(R.id.list);
list.setOnItemClickListener(new AdapterView.OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3){
         Intent intent =new Intent(getApplicationContext(),LAstActivity.class);
         intent.putExtra("name",notes.get(position));
         startActivity(intent,"name");
    }
});

和secendActivivty

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_last);
    TextView tv=findViewById(R.id.textView5);
    Intent intent = getIntent();
    String data = intent.getStringExtra("name");
    tv.setText(data);
}

1 个答案:

答案 0 :(得分:0)

您应该解析活动上下文而不是应用程序上下文,并且不需要在startActivity中解析“名称”,并且在第二个活动中,请确保getIntent()或getStringExtra()如果不存在则不返回null空指针异常。 因此,第一个活动中的代码将是这样的:

list = (ListView) findViewById(R.id.list);
list.setOnItemClickListener(new AdapterView.OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3){
         Intent intent =new Intent(this,LAstActivity.class);
         intent.putExtra("name",notes.get(position));
         startActivity(intent);
    }
});