Yaq*_*mad 2 android nullreferenceexception android-edittext android-view findviewbyid
我试图将EditText从Activity1传递给Activity2.
Activity1代码:
public void openNextActivity()
{
Intent intent = new Intent("com.abc.xyz.ImageActivity");
EditText myEditText = (EditText)findViewById(R.id.myEditText);
int myEditTextId = myEditText.getId();
//For Test purpose ----- starts
// **Point1: next line of code works fine in this Activity1**
EditText myEditTextTest = (EditText)findViewById(myEditTextId);
//For Test purpose ----- ends
intent.putExtra("myEditText", myEditTextId);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
Activity2代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.comments_detail);
Bundle extras = getIntent().getExtras();
if(extras != null)
{
int myEditTextId = extras.getInt("myEditText");
// Point2: next line of code displays the correct Id
Log.d("tag","myEditTextId"+ myEditTextId);
// Point 3: Next line of code not works in this Activity2
EditText myEditText = (EditText)findViewById(myEditTextId);
if(myEditText != null)
{
Log.d("tag","Not null");
}
else
{
Log.d("tag","null");// **Point4: this condition executes**
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是该行:EditText myEditText =(EditText)findViewById(myEditTextId); 在Activity1中工作正常, 但它在Activity2中不起作用.
编辑:
注意:两个活动都使用不同的布局感谢您宝贵的时间和帮助.
您可以访问的唯一视图是您在活动2开始时加载的布局中的视图,即R.layout.comments_detail中的视图.我猜测Activity 1加载了一个不同的布局及其setContentView(..),并且它位于'myEditText定义和范围内的布局中.
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |