Я помню, что только пользовательский интерфейс может изменять вид деятельности, нить-UI Thread не может изменить представление. Значит ли метод «replace()», который вы найдете в коде, является безопасностью потока? ? Если код правильный, почему этот метод может сделать это (спасибо)ли Android FragmentTransaction.replace() - безопасность потоков?
Это код:
public class SelectBookActivity extends Activity implements
BookListFragment.Callbacks
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// inflate a ListFragment and a container
setContentView(R.layout.activity_book_twopane);
}
// the method in the interface
@Override
public void onItemSelected(Integer id)
{
Bundle arguments = new Bundle();
arguments.putInt(BookDetailFragment.ITEM_ID, id);
BookDetailFragment fragment = new BookDetailFragment();
fragment.setArguments(arguments);
getFragmentManager().beginTransaction()
.*replace*(R.id.book_detail_container, fragment)
.commit();
}
}
Вы в настоящее время не вызываете метод из потока. onItemSelected вызывается в потоке пользовательского интерфейса. – DeeV
@DeeV onItemSelected() вызывается объектом ListFragment, этот обратный вызов также находится в потоке пользовательского интерфейса? – Michael
Да. Все действия UI выполняются в основном потоке. – DeeV