После успешной авторизации приложения падает, и не выдает никаких ошибок. Activity
public class LoginActivity extends AppCompatActivity {
private static final String TAG = "Login";
FragmentManager fragmentManager;
FragmentTransaction fragmentTransaction;
private FragmentLogin fragmentLogin;
private FragmentAcount fragmentAcount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragmentLogin = new FragmentLogin();
fragmentAcount = new FragmentAcount();
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.activity, fragmentLogin).commit();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
VKCallback<VKAccessToken> callback = new VKCallback<VKAccessToken>() {
@Override
public void onResult(VKAccessToken res) {
// User passed Authorization
Log.i(TAG, "good");
startTestActivity();
}
@Override
public void onError(VKError error) {
Log.i(TAG, "error " + error.errorMessage);
}
};
if (!VKSdk.onActivityResult(requestCode, resultCode, data, callback)) {
super.onActivityResult(requestCode, resultCode, data);
}
}
private void startTestActivity() {
//startActivity(new Intent(this, WellcomeActivity.class));
replaceFragment(fragmentAcount);
}
private void replaceFragment(Fragment fragment) {
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.activity, fragment);
fragmentTransaction.commit();
}
}
fragment
public class FragmentLogin extends Fragment {
private Button enter;
private static final String[] sMyScope = new String[]{
VKScope.FRIENDS,
VKScope.WALL,
VKScope.PHOTOS,
VKScope.NOHTTPS,
VKScope.MESSAGES,
VKScope.DOCS
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_login, container, false);
findId(v);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
enterVk();
}
});
return v;
}
private void findId(View v) {
enter = (Button)v.findViewById(R.id.enter);
}
private void enterVk() {
try {
VKSdk.login(getActivity(), sMyScope);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
Что-то делать с разметкой (а также много чего ещё) из onActivityResult
- опасно. В этот момент актвити находится в "подвешенном состоянии" и код вызанный оттуда может отработать не так как ожидается. Попробуйте запустить код оттуда через runOnUiThread(Runnable runnable)
чтобы он исполнился в основном потоке, когда активити оживёт.
runOnUiThread(new Runnable() {
@Override
public void run() {
startTestActivity();
}
});
Тут в примере нажмите на жёлтую кнопку и откроется демо сайта, где-то по середине сайта есть 5 картинок, при наведении на которые они заполняются...
Ребят я студент есть задача приложения для того что бы сделать запрос в гугл, и подсчитать количество слов на странице и вывести результат,...