我已经搜索了我的问题。类似的问题是here,但不是答案。
这是我的活动代码:
public class HistoryActivity extends AppCompatActivity {
RecyclerView recyclerView;
RecyclerReviewedLocaionAdaptor recyclerAdaptor;
ArrayList<String> id;
ArrayList<String> cnic;
ArrayList<String> details;
ProgressDialog progressDialog;
NumberDB numberDB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
// recycler view
recyclerView = (RecyclerView) findViewById(R.id.recyclerViewReviewedLocation);
new loadData().execute();
recyclerAdaptor = new RecyclerReviewedLocaionAdaptor(id, cnic, details);
recyclerView.setAdapter(recyclerAdaptor);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
public void loadData()
{
id=new ArrayList<String>();
cnic=new ArrayList<String>();
details=new ArrayList<String>();
numberDB=new NumberDB(getApplicationContext(), "Users", null, 1);
Cursor cursor=numberDB.getData();
if (cursor.moveToFirst()){
do{
String idData = cursor.getString(cursor.getColumnIndex(NumberDB.KEY_ID));
String cnicData = cursor.getString(cursor.getColumnIndex(NumberDB.sentFrom));
String detailsData = cursor.getString(cursor.getColumnIndex(NumberDB.details));
// do what ever you want here
id.add(idData);
id.add(cnicData);
id.add(detailsData);
}while(cursor.moveToNext());
}
cursor.close();
}
class loadData extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... voids) {
id.clear();
cnic.clear();
details.clear();
try{
loadData();
}catch (Exception e)
{
Log.i("Database", "Error fetching Data");
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
Toast.makeText(HistoryActivity.this, "Complete", Toast.LENGTH_SHORT).show();
}
}
我得到的错误是:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.abdullahsaleem.meravote, PID: 31721
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.abdullahsaleem.meravote/com.example.abdullahsaleem.meravote.HistoryActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2505)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2577)
答案 0 :(得分:0)
您要先清除arrayList,然后再对其进行初始化