在片段中,我有一个按钮,我想用触发适配器“触发”从数据库填充Listview。Android错误将上下文传递给OnClick中的光标适配器(视图视图)
碎片的代码是这样的:
public class TabFragment6 extends ListFragment {
/** (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
LinearLayout Layout6 = (LinearLayout) inflater.inflate(R.layout.tab_frag6_layout, container, false);
// Register for the Button.OnClick event
Button bShopGuit = (Button)Layout6.findViewById(R.id.buttonshopguit);
bShopGuit.setOnClickListener(new View.OnClickListener() { //abre setonclicklistener(
@Override
public void onClick(View v) {
Cursor allItems;
MyDatabase db;
Context ctx = (Context)TabFragment6.this.getActivity();
db = new MyDatabase(ctx);
allItems = db.getGuitarItems();
ListAdapter adapter = new SimpleCursorAdapter (ctx,
android.R.layout.simple_list_item_1,
allItems,
new String[] {"ItemName"},
new int[] {android.R.id.text1});
getListView().setAdapter(adapter);
}
}); //fecha)
return Layout6;
}
但是,我得到的适配器的错误:)方法getactivity(未定义该类型新View.OnClickListener() {}
我该如何解决这个问题?谢谢!!
嗯,我该怎么做?对不起,没有太多的android经验。 – tyb 2012-02-13 16:52:45
当然你可以,只要有一个'Fragment'的封装实例,你可以像他在做的那样施放。我试过你的确切代码,tyb,并没有那个错误。确定你在演员阵容之后有所保存? – 2012-02-13 16:57:10
是的,它现在也在工作。我保存了它,但错误没有消失,直到我修改文件。在Eclipse中肯定有一些小故障。谢谢你的时间! – tyb 2012-02-13 17:00:11