我正在使用Custom ListView进行给我的作业。我已经使用Base Adapter制定了自定义列表视图。 通过单击我想要启动新活动,我在视图中有一个Button。但是我在运行时遇到错误。请注意,BUTTON不是列表视图的一部分,我的意思是它不重复,它只放置在包含Listview的布局顶部一次。
public class mainActivity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_list);
ArrayList<ItemInfo> items = GetSearchResults();
final ListView lv1 = (ListView) findViewById(R.id.mylistview);
if(lv1==null){
Log.d("error","ListView is null");
}
lv1.setAdapter(new itemBaseAdapter(this, items));
final Button btnShowCart = (Button) findViewById(R.id.shCart);
btnShowCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), Cart.class);
startActivity(myIntent);
}
});
}
private ArrayList<ItemInfo> GetSearchResults() {
ArrayList<ItemInfo> items=new ArrayList<ItemInfo>();
items.add(new ItemInfo("pizza",R.drawable.icon,15));
items.add(new ItemInfo("chicken",R.drawable.icon,10));
items.add(new ItemInfo("slice",R.drawable.icon,12));
items.add(new ItemInfo("hoha",R.drawable.icon,20));
return items;
}
}
StartActivity(myIntent)是我在运行时收到错误的行。 这是代码,如果有人能够解释这个问题,我将不胜感激。
答案 0 :(得分:4)
您是否已将Cart.class
添加到manifest文件中?什么是错误日志?
答案 1 :(得分:1)
而不是新的Intent(v.getContext,Cart.class),请尝试:
Intent myIntent = new Intent(this, Cart.class);
答案 2 :(得分:1)
1)问题可能在v.getContext()方法中。试试这个:
Intent intent = new Intent(mainActivity2.this, Cart.class);
startActivity(intent);
2)也许你没有在Manifest文件中注册'Cart'活动。
答案 3 :(得分:0)
您只需将v.getContext()
替换为mainActivity2.this
。
答案 4 :(得分:0)
首先,检查您的第二个活动是否已添加到Manifest.xml
文件中。并且,尝试使用此代码后 -
Intent i = new Intent(mainActivity2.this, Cart.class);
startActivity(i);
也许,这会对你有所帮助。