hamedjj
یک شنبه 24 فروردین 1393, 23:32 عصر
سلام من با دیتابیس آماده کار میکنم
تو کلاس main که extends Activity شده هیچ مشکلی نداره و داده ها بر روی لیست ویو فراخوانی میشه
اما اگه به جای اکتیویتی از fragment استفاده کنم (extend fragment) تو دو تا خط گیر میده:
1 :
db = new MyDatabase(this);
2 :
listview.setAdapter(new MyAdapter(this, list));
تو هر دوتا میگه constructor را از MyDatabase(context) به MyDatabase(MainActivity) تغییر بده و تغییر هم میدی درست نمیشه
مشکل از کجاست؟
کد MainActivity با fragment :
public class MainActivity extends Fragment {
private Cursor list;
private MyDatabase db;
public ListView listview;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_main, container, false);
db = new MyDatabase(this);
list = db.getList();
listview = (ListView) rootView.findViewById(R.id.listView1);
listview.setAdapter(new MyAdapter(this, list));
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
}
});
return rootView;
}
}
کد MainActivity با Activity :
public class MainActivity extends Activity {
private Cursor list;
private MyDatabase db;
public ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new MyDatabase(this);
list = db.getList();
listview = (ListView) findViewById(R.id.listView1);
listview.setAdapter(new MyAdapter(this, list));
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
}
});
}
}
تو کلاس main که extends Activity شده هیچ مشکلی نداره و داده ها بر روی لیست ویو فراخوانی میشه
اما اگه به جای اکتیویتی از fragment استفاده کنم (extend fragment) تو دو تا خط گیر میده:
1 :
db = new MyDatabase(this);
2 :
listview.setAdapter(new MyAdapter(this, list));
تو هر دوتا میگه constructor را از MyDatabase(context) به MyDatabase(MainActivity) تغییر بده و تغییر هم میدی درست نمیشه
مشکل از کجاست؟
کد MainActivity با fragment :
public class MainActivity extends Fragment {
private Cursor list;
private MyDatabase db;
public ListView listview;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_main, container, false);
db = new MyDatabase(this);
list = db.getList();
listview = (ListView) rootView.findViewById(R.id.listView1);
listview.setAdapter(new MyAdapter(this, list));
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
}
});
return rootView;
}
}
کد MainActivity با Activity :
public class MainActivity extends Activity {
private Cursor list;
private MyDatabase db;
public ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new MyDatabase(this);
list = db.getList();
listview = (ListView) findViewById(R.id.listView1);
listview.setAdapter(new MyAdapter(this, list));
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
}
});
}
}