Android getIntent.getString();为空

本文解答了一个常见问题:为何通过Intent传递的数据无法正确获取。详细分析了问题的原因,并给出了最佳实践建议。

今天一个同学问我。说我明明在上一个页面通过intent.putExtra("key ","123");传值了。但是在第二个页面通过getIntent().getStringExtra("key")一直为空。。。问为什么。。。。咦。为什么呢。。我也看了半天。确认确实传值了。intent里面确实有。那为什么取不到呢。。。那答案就只有一个。那就是。存进去的key和取出来的key不一样。。。仔细一看。。果真。。他传值的时候。intent.putExtra("key ","123")key后面加了个空格。。。但是取值的时候。。没有。。。故取值一直为空。。。。气人不。气人。

所以。如果有人问。为什么我存进去一个值。却拿不到。。那答案就真的只有一个。。那就是。你的key和你取的key不一致。。请仔细仔细再仔细的看一看。多加个空格都是不行的。。。所以。最好这种key.定义成一个公共常量。然后每个用的地方都用这个常量。就不会出现这种错误了。

。。。。好吧。。这篇博客是为了凑个数。嗯。现在写的这些话。是为了凑字数。。哈哈哈。日常清闲。。周围的同事都在忙。。只有我很清闲。。。不知道是不是因为还没转正。所以。分配的任务总是简单。估计是怕完成不了。影响进度吧。。。哎。。清闲的时候。我就不知道该干啥。就爱胡思乱想。。仔细想了下。。。当初想逃离上海的急切心情是为什么呢。。现在。是真的真的有点想念。想念那个环境。想念那里的人。想念那里的食物。。嗯。。。虽然在这儿呆的也很好。可是。还是觉得。当初的我。如果换个选择。会不会。哎。。不想了。这就叫贪婪。人心不足蛇吞象。现在就挺好的。继续坚持下去。。。加油!!!

每日语录:

嗯。没有。。。最近在读蔡静的《看见》。看到一篇关于家暴的采访。只觉得触目惊心。然后有了一个反思。只要有了一次家暴。就一定要离婚。不管什么原因。离婚就对了。不要想着说为了给孩子一个完整的家庭。因为。这绝不会是最后一次。你的孩子如果看到了父亲打母亲。会慢慢产生扭曲的心理。所以。为了你自己。为了你的孩子。你需要勇敢的反抗。报警。离婚。要狠狠的给他一个教训。不要害怕。你自己一个人可能养不起自己和孩子。你可以的。你永远比你自己想的强大。。。咦。。现在想来。。还是觉得气愤!!!所以。女孩子。一定要爱护自己。一定要人格独立。一定要有一个可以养活自己的工作。不依附任何人活着。这样。你才能在任何时候都有从头开始的勇气。。。。。最后。愿每个女孩子。都有人爱。如果没有。请自己好好爱自己。。。

单曲循环《末日孤单》

package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnIntentBundle = findViewById(R.id.btn_intent_bundle); btnIntentBundle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (view.getId() == R.id.btn_intent_bundle) { Intent intent = new Intent(MainActivity.this, IntentBundleActivity.class); Bundle bundle = new Bundle(); bundle.putString("name", "张三"); bundle.putInt("age", 18); intent.putExtras(bundle); startActivity(intent); } } }); } }package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class IntentBundleActivity extends AppCompatActivity { private TextView tv_name; private TextView tv_age; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_intent_bundle); initView(); Bundle bundle = getIntent().getExtras(); if (bundle != null) { String name = bundle.getString("name"); int age = bundle.getInt("age"); tv_name.setText("姓名:" + name); tv_age.setText("年龄:" + age); } } private void initView() { tv_name = findViewById(R.id.tv_name); tv_age = findViewById(R.id.tv_age); } }<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <Button android:id="@+id/btn_intent_bundle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="传递 Bundle 数据"/> </LinearLayout>
最新发布
10-23
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值