我正在使用sql listview,但是我想在tablayout中将listview作为活动类(CountryListActivity.java)显示为片段。 dbManager = newDBManager(this)在将其更改为getActivity时出错,我该如何解决?
$ scalac -help
Usage: scalac <options> <source files>
where possible standard options include:
-X Print a synopsis of advanced options.
$ scalac -X
Usage: scalac <options> <source files>
-- Notes on option parsing --
Boolean settings are always false unless set.
Where multiple values are accepted, they should be comma-separated.
example: -Xplugin:option1,option2
<phases> means one or a comma-separated list of:
(partial) phase names, phase ids, phase id ranges, or the string "all".
example: -Xprint:all prints all phases.
example: -Xprint:expl,24-26 prints phases explicitouter, closelim, dce, jvm.
example: -Xprint:-4 prints only the phases up to typer.
Possible advanced options include:
-Xlint:<_,warning,-warning> Enable or disable specific warnings: `_' for all, `-Xlint:help' to list
数据库管理器类如下:
package com.trinitytabnavigationdrawer;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
public class CountryListActivity extends ActionBarActivity {
private DBManager dbManager;
private ListView listView;
private SimpleCursorAdapter adapter;
final String[] from = new String[] {
DatabaseHelper._ID,
DatabaseHelper.SUBJECT, DatabaseHelper.DESC
};
final int[] to = new int[] {
R.id.id, R.id.title, R.id.desc
};
@
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_emp_list);
dbManager = new DBManager(this);
dbManager.open();
Cursor cursor = dbManager.fetch();
listView = (ListView) findViewById(R.id.list_view);
listView.setEmptyView(findViewById(R.id.empty));
adapter = new SimpleCursorAdapter(this, R.layout.activity_view_record, cursor, from, to, 0);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
// OnCLickListiner For List Items
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@
Override
public void onItemClick(AdapterView <? > parent, View view, int position, long viewId) {
TextView idTextView = (TextView) view.findViewById(R.id.id);
TextView titleTextView = (TextView) view.findViewById(R.id.title);
TextView descTextView = (TextView) view.findViewById(R.id.desc);
String id = idTextView.getText().toString();
String title = titleTextView.getText().toString();
String desc = descTextView.getText().toString();
Intent modify_intent = new Intent(getApplicationContext(), ModifyCountryActivity.class);
modify_intent.putExtra("title", title);
modify_intent.putExtra("desc", desc);
modify_intent.putExtra("id", id);
startActivity(modify_intent);
}
});
}
@
Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@
Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.add_record) {
Intent add_mem = new Intent(this, AddCountryActivity.class);
startActivity(add_mem);
}
return super.onOptionsItemSelected(item);
}
}
我不知道还能做什么!已经尝试了一个星期了,对不起,我不擅长这个,只是按照一些教程! :(
答案 0 :(得分:0)
初始化dbManager和其他需要onAttach (Context context)
内的上下文而不是onCreateView()
Fragment方法的对象。