【发布时间】:2016-01-20 08:22:17
【问题描述】:
我想通过检查我的 onCreate 活动中的某些条件来动态更改我的 UI。但是我的应用崩溃了。
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.busdetail);
Intent i=getIntent();
String s=i.getStringExtra("fname");
Log.d("ssssss: ",s);
if(s=="itemName1")
{
for(int k=0;k<itemName1.length;k++)
{
arrayk[k]=itemName1[k];
}
}
CustomList adapter = new CustomList(this, arrayk, imageId);
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//String selectedItem = itemName[+position];
// Toast.makeText(getApplicationContext(),selectedItem,Toast.LENGTH_LONG).show();
Intent intent = new Intent(BusDetail.this, AddComment.class);
startActivity(intent);
}
});
}
这里if (s=="itemName1") 然后我将itemName1 复制到arrayk 中。 itemName1 和 arrayk 都是字符串数组。但是当我点击一个项目时,我的应用程序崩溃了。当我避免 if 条件阻塞时,我的应用程序运行良好。
【问题讨论】:
-
请更具体。 “崩溃”时会抛出什么错误消息/调用堆栈?
-
不要那样做:
s=="itemName1",改用s.equals("itemName1")。itemName1是什么?它在哪里初始化?arrayk的同样问题。 -
if(i != null) ... if(s!=null)
标签: android android-layout android-intent