Bom dia galera,
ViewPagerAdapter:
Aguardo ajuda,
-- bom, deixa eu explicar minha situação aqui.
Eu tenho minha Main Activity e ela chama um ViewPagerAdapter que estende o PagerAdapter (É uma telinha de slide que eu estou fazendo tipo um "user tutorial"). Na última tela tem um botão que quando o usuário clica, eu redirecionaria para outra Activity.
Porém, paralelo à isso, eu preciso realizar uma consulta no banco, e gostaria que quando o cara apertasse o botão, ele disparasse um evento para a minha Main Class, e nesse evento ele checasse se já ouve a requisição ao banco ou não.
Assim eu bloqueio a transição de views até a requisição ser realizada.
gostaria de saber como eu faço para disparar um evento dessa ViewPagerAdapter para a minha Main Class.
Main Class:
package br.com.estadovirtual.promulher;
import android.content.Intent;import android.content.SharedPreferences;import android.os.AsyncTask;import android.os.Bundle;import android.app.Activity;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.util.Log;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.Button;
import com.viewpagerindicator.UnderlinePageIndicator;
import br.com.estadovirtual.promulher.classes.JSONParser;import br.com.estadovirtual.promulher.classes.Singleton;import br.com.estadovirtual.promulher.classes.ViewPagerAdapter;
public class Main extends Activity {
// Declare Variables private ViewPager viewPager; private PagerAdapter adapter;
private String[] texts; private int[] flag; private UnderlinePageIndicator mIndicator;
private SharedPreferences preferences; private SharedPreferences.Editor preferencesEditor; private Intent intent; private JSONParser jsonParser = new JSONParser(); private Boolean firstRun;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the preferences and preferences editor preferences = getSharedPreferences(Singleton.getInstance().get_preferencesName(), MODE_PRIVATE); preferencesEditor = preferences.edit();
// get if is the first run or not firstRun = preferences.getBoolean(Singleton.getInstance().get_firstRunFlag(), true);
// TODO Tirar o ! if(firstRun) {
Log.d("Phil", "Primeira execução do aplicativo");
// Mostra o tutorial // Get the view from viewpager_main.xml setContentView(R.layout.viewpager_main);
// Generate data for user's tutorial screens texts = new String[] { "É muito importante que você cadastre seus dados pessoais para que possamos ter precisão em uma possível ajuda futura. Seus dados em nenhum momento serão divulgados sem permissão.", "Os contatos próximos, são pessoas próximas à você que poderão te ajudar caso alguma ameaça aconteça. Eles sempre serão avisados sobre eventual problema.", "Você achará links de ajuda no menu '(+) Ajuda' com informações importantes sobre atendimento e violência contra a mulher." };
flag = new int[] { R.drawable.icon_who_are_you, R.drawable.icon_who_are_you, R.drawable.icon_who_are_you};
// Locate the ViewPager in viewpager_main.xml viewPager = (ViewPager) findViewById(R.id.pager);
// Pass results to ViewPagerAdapter Class adapter = new ViewPagerAdapter(Main.this, texts, flag);
// Binds the Adapter to the ViewPager viewPager.setAdapter(adapter);
// ViewPager Indicator mIndicator = (UnderlinePageIndicator) findViewById(R.id.indicator); mIndicator.setFades(false); mIndicator.setViewPager(viewPager);
} else { Log.d("Phil", "Não é a primeira execução do aplicativo"); }
// Executa a requisição pra saber se o usuário é cadastrado ou não //new checkDevice(firstRun).execute(); }
public void GoToAppClick(){}
class checkDevice extends AsyncTask<String, String, String> {
Boolean failure = false; Boolean first_run;
public checkDevice(Boolean first_run) { this.first_run = first_run; }
@Override protected void onPreExecute() {
Log.d("Phil", "onPreExecute Function Started 11"); super.onPreExecute();
}
@Override protected String doInBackground(String... args) {
return "OI"; }
@Override protected void onPostExecute(String file_message) {
} }}
package br.com.estadovirtual.promulher.classes;
/** * Created by Alex on 03/11/2014. */import android.content.Context;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;
import br.com.estadovirtual.promulher.R;
public class ViewPagerAdapter extends PagerAdapter {
// Declare Variables private Context context; private String[] texts; private int[] flag; private LayoutInflater inflater; private Button get_out;
public ViewPagerAdapter(Context context, String[] texts, int[] flag) {
// Set the variables this.context = context; this.texts = texts; this.flag = flag; }
@Override public int getCount() { return texts.length; }
@Override public boolean isViewFromObject(View view, Object object) { return view == ((RelativeLayout) object); }
@Override public Object instantiateItem(final ViewGroup container, int position) { // inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.viewpager_item, container, false);
// Get button "Go To App" get_out = (Button) itemView.findViewById(R.id.button_go_to_app);
// On Click Listener get_out.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
} });
// Set the view text TextView info_text = (TextView) itemView.findViewById(R.id.info_text); info_text.setText(texts[position]);
// Set the view image ImageView info_image = (ImageView) itemView.findViewById(R.id.info_image); info_image.setImageResource(flag[position]);
// Set button visibility if the tutorial page is the number 3 if((position + 1) == this.getCount()){ get_out.setVisibility(View.VISIBLE); }else{ get_out.setVisibility(View.INVISIBLE); get_out.setVisibility(View.GONE); }
// Add viewpager_item.xml to ViewPager ((ViewPager) container).addView(itemView);
return itemView; }
@Override public void destroyItem(ViewGroup container, int position, Object object) { // Remove viewpager_item.xml from ViewPager ((ViewPager) container).removeView((RelativeLayout) object); }}
Aguardo ajuda,
Obrigado :D
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário