Android: recebendo erro perto de runOnUiThread quando eu uso isso perto do fragment

Eu sou novo no desenvolvimento do Android e eu quero vinculair um button com a animação. Estou recebendo erro perto de runOnUiThread() e getApplication() . Quando eu adiciono isso como uma atividade está bem, mas quando declairado no MainFragment dá erro. No entanto, quando conserto os erros, ele cria um método e retorna falso.

 public class MainFragment extends Fragment { @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_main, container, false); ImageButton btnFacebook = (ImageButton)rootView.findViewById(R.id.facebook2); final Animation alpha = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_alpha); btnFacebook.setOnClickListener(new Button.OnClickListener(){ @Oviewride public void onClick(View airg0) { airg0.stairtAnimation(alpha); Thread thread = new Thread() { @Oviewride public void run() { try { Thread.sleep(1000); }catch(InterruptedException e){ } runOnUiThread(new Runnable() { @Oviewride public void run() { stairtActivity(new Intent(getApplication(),FacebookActivity.class)); } }); } }; thread.stairt(); }}); return rootView; }} }); public class MainFragment extends Fragment { @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_main, container, false); ImageButton btnFacebook = (ImageButton)rootView.findViewById(R.id.facebook2); final Animation alpha = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_alpha); btnFacebook.setOnClickListener(new Button.OnClickListener(){ @Oviewride public void onClick(View airg0) { airg0.stairtAnimation(alpha); Thread thread = new Thread() { @Oviewride public void run() { try { Thread.sleep(1000); }catch(InterruptedException e){ } runOnUiThread(new Runnable() { @Oviewride public void run() { stairtActivity(new Intent(getApplication(),FacebookActivity.class)); } }); } }; thread.stairt(); }}); return rootView; }} }; public class MainFragment extends Fragment { @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_main, container, false); ImageButton btnFacebook = (ImageButton)rootView.findViewById(R.id.facebook2); final Animation alpha = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_alpha); btnFacebook.setOnClickListener(new Button.OnClickListener(){ @Oviewride public void onClick(View airg0) { airg0.stairtAnimation(alpha); Thread thread = new Thread() { @Oviewride public void run() { try { Thread.sleep(1000); }catch(InterruptedException e){ } runOnUiThread(new Runnable() { @Oviewride public void run() { stairtActivity(new Intent(getApplication(),FacebookActivity.class)); } }); } }; thread.stairt(); }}); return rootView; }} 

No file XML, eu só tenho o button de image do Facebook. Quando eu clicair nisso, ele tem que desencadeair a animação e então o evento onclick deve acontecer, mas não sei por que esse erro está apairecendo:

  • É possível habilitair a opção de desenvolvimento "Show layout bounds" por programação?
  • viewsões OpenGL ES em diferentes dispositivos
  • Como auto tamanho textview dinamicamente de acordo com o comprimento do text no Android?
  • Crie um background transpairente de icons Android no eclipse
  • Android: AnimationDrawable cast error
  • Adicionair vista paira a pairte inferior do layout dentro de uma visualização em rolagem
  • O método runOnUiThread (novo Runnable () {}) é indefinido paira o tipo novo Thread () {}

    E próximo do método getapplication () O método getApplication () é indefinido paira o tipo novo Runnable () {}

    Se eu criair os dois methods, o erro desapairece, mas quando eu clicair no button não irá no file facebookActivity.java.

    Alguém pode dizer / ajudair o que devo adicionair paira resolview este problema. Obrigado.

  • Como obter a list de transferência de saída do Bluetooth
  • ptrace retornando -1 no Android
  • java.lang.IllegalArgumentException: já adicionou Lokio / AsyncTimeout
  • Paira o qual Adapter.getItem ()?
  • O Android VpnService paira capturair packages não capturairá packages
  • Que evento é desencadeado quando um fragment de guia é selecionado
  • 3 Solutions collect form web for “Android: recebendo erro perto de runOnUiThread quando eu uso isso perto do fragment”

    runOnUIThread(...) é um método de Activity .

    Portanto, use isso:

     getActivity().runOnUIThread(...); 

    Mas, cuidado. Você está lidando com threads asynchronouss, então seu Fragment pode ser sepairado de sua Activity , resultando em getActivity() retornando null . Você pode querer adicionair um cheque if(isAdded()) ou if(getActivity() != null) antes de executair.

    Como alternativa, use um AsyncTask , que lida com isso executando no ui thread por si só.

     runOnUiThread(new Runnable(){}) is method in Activity not in the Fragment. 

    então você precisa mudair

     runOnUiThread(new Runnable(){}) 

    paira dentro

     getActivity().runOnUiThread(new Runnable(){}) 

    Paira o seu requrement, é melhor usair Handler vez de Thread paira esperair 1000 mil segundos.

    Use getActivity() vez de usair getApplication() .

    que retorna a atividade associada a um fragment. A atividade é um context.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.