0

Как обновить GridView? Ниже мой код. После сканирования приложение делает некоторые обновления в базе данных sqlite, а в конце уничтожает Activity. После приложения обратно в фрагмент с GridView, который является старым без обновлений. Любая помощь?Обновление Android GridView после обновления Sqlite

Класс сканирования:

@Override 
    public void handleResult(Result rawResult) { 
     // Do something with the result here 

     Employee employee_One = new Employee(BitmapFactory.decodeResource(
       getResources(), R.drawable.test1), "abc", 1); 

     Log.v("TAG", rawResult.getText()); // Prints scan results 
     Log.v("TAG", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.) 

     String message = rawResult.toString(); 

     if(rawResult.toString().equals("8005603001555")) { 

      DbHelper = new DBhelper(this); 
      DbHelper.open(); 
      DbHelper.insertEmpDetails(employee_One); 
      DbHelper.close(); 

      finish(); 

     } else { 
      mScannerView.startCamera(); 
      Toast.makeText(getBaseContext(), "Fail" , Toast.LENGTH_LONG).show(); 
     } 

Фрагмент Класс:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_community, container, false); 
     button = (Button) rootView.findViewById(R.id.button); 
     button.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent i = new Intent(getActivity(), Scanning.class); 
       startActivity(i); 
      } 

     }); 

     DbHelper = new DBhelper(getActivity()); 
     DbHelper.open(); 
     employeeList = DbHelper.retriveallEmpDetails(); 
     DbHelper.close(); 

     final GridView gridView = (GridView) rootView.findViewById(R.id.grid_view); 
     gridView.setAdapter(new ImageAdapter(getActivity(), employeeList)); 

     return rootView; 
    } 

} 

ответ

0

Элемент GridView имеет метод invalidateViews().

, когда вы называете этот метод: «все виды, которые нужно перестроить и перерисовать». http://developer.android.com/reference/android/widget/GridView.html

Надеюсь, это поможет.

+0

Где это (invalidateViews()) должно быть сделано правильно? – waclaw

+0

Можете ли вы попробовать использовать в классе сканирования, где заканчиваются операции. – sanjeeb

+0

Это не работает – waclaw

0

Вы можете начать свою деятельность для получения результата и выполнить, соответственно, после получения этого результата Для этого введите link. Чтобы обновить пользовательский интерфейс, вы можете вызвать функцию недействительности, соответствующую вашему представлению, если она не обновляется, но она будет.

Для получения дополнительной информации вы можете увидеть код здесь

Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); 
pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers 
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST); 

Ответ будет развлекаться в функции onActivityResult

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
// Check which request we're responding to 
if (requestCode == PICK_CONTACT_REQUEST) { 
    // Make sure the request was successful 
    if (resultCode == RESULT_OK) { 
     // The user picked a contact. 
     // The Intent's data Uri identifies which contact was selected. 

     // Do something with the contact here (bigger example below) 
    } 
} 

}

ли голос, если это полезно для вас

+0

Нет проблем с результатом, (вставить в db), но когда я закрываю активность. Мой фрагмент без изменений, возможно, какой-то метод onResume? Но я не знаю, как его использовать. – waclaw

+0

Да, я говорю то же самое, когда вы закрываете эту деятельность, добавляя какую-то переменную или данные в ур, чтобы сообщить предыдущему действию, что новые данные будут получены. Взгляните на эту ссылку для получения более подробной информации http://stackoverflow.com/questions/920306/sending-data-back-to-the-main-activity-in-android –

Смежные вопросы