❶ android通过intent传值,无法接收到值,代码如下:
java">1.传值
Bundlebundle=newBundle();
bundle.putString("dealerid",dealerid);
Intentintent=newIntent(getActivity(),DealerActivity.class);
intent.putExtras(bundle);
startActivity(intent);
2.接收
Stringdealerid=(String)getIntent().getExtras().get("dealerid");
❷ android问题 NavUtils.getParentActivityIntent 返回值为null
这个是在AndroidManifest里面设置的。
<application...>
...
<!--Themain/homeactivity(ithasnoparentactivity)-->
<activity
android:name="com.example.myfirstapp.MainActivity"...>
...
</activity>
<!--Achildofthemainactivity-->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity">
<!--Parentactivitymeta-datatosupport4.0andlower-->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity"/>
</activity>
</application>
❸ android运行时nullpointerexception异常
public void onClick(View v) {
// TODO Auto-generated method stub
String s1 = ed1.getText().toString();
String s2 = ed2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", s1);
intent.putExtra("two", s2);
intent.setClass(Android02Activity.this, Result.class);
Android02Activity.this.startActivity(intent);
}
这段代码中的ed1 ed2两个对象应该是空的,lz没有在onCreate中对他们进行赋值
❹ android 中成员变量变成null了,怎么办
没明白你什么意思
如果你在成员变量中
Intent intent = new Intent(this,xxx.class);
那肯定报错是,因为成员变量调用this还是null
只有进入构造方法了,this才不是null
❺ android intent 传数据问题,能否确定传入的数据来自哪个activity
完全可以,只需要往intent里面添加一个标识数据即可
//两个activity
//第一个activity
{
privateButtonbtn;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
Intentintent=newIntent(OneActivity.this,EditActivity.class);
intent.putExtra("from",1);
startActivity(intent);
}
});
}
}
//第二个activity
{
privateButtonbtn;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
Intentintent=newIntent(OneActivity.this,EditActivity.class);
intent.putExtra("from",2);
startActivity(intent);
}
});
}
}
编辑activity,判断intent传进来的from数据,为1即为OneActivity,2为TwoActivity
{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intentintent=getIntent();
intfrom=intent.getIntExtra("from",0);
switch(from){
case1:
//OneActivity
break;
case2:
//TwoActivity
break;
//case.......
}
}
}
❻ 在android中,经常new出Intent或者file等,需不需要用完他们后立即来个=null释放内存
这个要看你的变量申明方式,如果是局部变量,做不做没啥影响(你的局部方法完了,他自己变量指针就是null了,这牵扯到一定java回收机制原理,你可以查查)。如果是全局变量,你要考虑是否应该回收。但是全局变量,你不会申明很多吧?而且你反复new全局变量,之前用过的也变垃圾了,没影响啊
❼ android中intent的作用 越详细越好
1 Intent.ACTION_MAIN
String: android.intent.action.MAIN
标识Activity为一个程序的开始。比较常用。
Input:nothing
Output:nothing
例如:
1
2
3
4
5
6
也可以直接在程序中实现 Intent it = new Intent(原Activity.class,需跳转Activity.class);
2 Intent.Action_CALL
Stirng: android.intent.action.CALL
呼叫指定的电话号码。
Input:电话号码。数据格式为:tel:+phone number
Output:Nothing
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:1320010001");
startActivity(intent);
3 Intent.Action.DIAL
String: action.intent.action.DIAL
调用拨号面板
Intent intent=new Intent();
intent.setAction(Intent.ACTION_DIAL); //android.intent.action.DIAL
intent.setData(Uri.parse("tel:1320010001");
startActivity(intent);
Input:电话号码。数据格式为:tel:+phone number
Output:Nothing
说明:打开Android的拨号UI。如果没有设置数据,则打开一个空的UI,如果设置数据,action.DIAL则通过调用getData()获取电话号码。
但设置电话号码的数据格式为 tel:+phone number.
4.Intent.Action.ALL_APPS
String: andriod.intent.action.ALL_APPS
列出所有的应用。
Input:Nothing.
Output:Nothing.
5.Intent.ACTION_ANSWER
Stirng:android.intent.action.ANSWER
处理呼入的电话。
Input:Nothing.
Output:Nothing.
6 Intent.ACTION_ATTACH_DATA
String: android.action.ATTCH_DATA
别用于指定一些数据应该附属于一些其他的地方,例如,图片数据应该附属于联系人
Input: Data
Output:nothing
7 Intent.ACTION_BUG_REPORT
String: android.intent.action.BUG_REPORT
显示Dug报告。
Input:nothing
output:nothing
8 Intent.Action_CALL_BUTTON
String: android.action.intent.CALL_BUTTON.
相当于用户按下“拨号”键。经测试显示的是“通话记录”
Input:nothing
Output:nothing
Intent intent = new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(intent);
9 Intent.ACTION_CHOOSER
String: android.intent.action.CHOOSER
显示一个activity选择器,允许用户在进程之前选择他们想要的,与之对应的是Intent.ACTION_GET_CONTENT.
10. Intent.ACTION_GET_CONTENT
String: android.intent.action.GET_CONTENT
允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音)
Input: Type
Output:URI
这个以前用到过,看事例。
选择一个图片:
代码
int requestCode = 1001;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // "android.intent.action.GET_CONTENT"
intent.setType("image/*"); // 查看类型,如果是其他类型,比如视频则替换成 video/*,或 */*
Intent wrapperIntent = Intent.createChooser(intent, null);
startActivityForResult(wrapperIntent, requestCode);
❽ android intent传递参数问题
//Bundle bundle = new Bundle(); //这句是多余的
Bundle bundle = this.getIntent().getExtras();
categorySelected = bundle.getString("category");
pcode = bundle.getString("pcode");
上面说的问题与你提的问题关系不大,感觉你的问题不太可能啊,请检查传入的时候:
bundle.putString("category", category);
请检查传入的时候category本来就是空指针。
❾ android studio intent传值问题
首页putExtra的时候,传入int数:intent.putExtra("sss",sss);
第二个界面用getIntExtra接受:int sss= intent().getIntExtra("sss");
❿ Android Intent 如何接收到指定的Intent传递过来的值呢
首先,尽量不要用try{}catch去捕捉能用判断规避的异常,那样会影响效率,每次出现异常,虚拟机要抓错误调用堆栈。所以,最好的方式是通过判断去规避。
按你的思路,可以先判断getIntent.getExtras()是否为null。
Intent
_getIntent
=
this.getIntent();
if(
_getIntent.getExtras()
!=
null){
Log.i("YuryLog","理论上只有点了确认键才执行");
receiveName
=
_getIntent.getExtras().getString("sendName");
receiveEatSomething
=
_getIntent.getExtras().getString("sendeatSomething");
receiveCopies
=
_getIntent.getExtras().getString("sendcopies");
......
要指出的是,上述代码,最好使用getXXXExtra这类方法,它不会出现空指针(除了少数几个,比方说getStringExtra)。
需要设定默认值的,在没有值时它会返回默认值;没有设置默认值的,在没有值时会返回null,针对这类判空一下。
可以看下getBooleanExtra的源码:
public
boolean
getBooleanExtra(String
name,
boolean
defaultValue)
{
return
mExtras
==
null
?
defaultValue
:
mExtras.getBoolean(name,
defaultValue);
}
而getExtras()在没有值时会返回null,看下源码:
public
Bundle
getExtras()
{
return
(mExtras
!=
null)
?
new
Bundle(mExtras)
:
null;
}
所以,最好不要用getIntent().getExtras()这种方式,换用getIntent().getXXXExtras(),这样针对有设置默认值的就不需要判空了。
activity之间传值,是没有机制可以确定哪个activity传过来的。这是考虑到代码的可扩展性,解耦。要确定哪个activity发过来,在intent创建那里多传个布尔值就行,比方说下面的代码。
发送
intent.putExtra("fromXXActivity",
true);
接收
if
(getIntent().getBooleanExtra("fromXXActivity",
false))
{
......
//
这里,你就可以安全的接收那个activity发过来的所有值。
}