Iai gente, bem estou com um problema numa aplicação minha, acontece o seguinte eu fiz um widget que lê uns arquivos do assets e dá uma prévia ao usuario, quando ele clicka num botão ele inicia a activity por um intent e a activyty, a principal, chama o fragmento para mostrar o resto do texto, o problema vem agora. quando o usuario clicka pela primeira vez ele inicia tudo direitinho, e exibe o texto corretamente, mas quando ele clicka pela segunda vez, mesmo sendo um arquivo diferente ele envia o primeiro texto para a activity, ai lasca tudo.
[code]public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
q++;
new Timer().scheduleAtFixedRate(new MyTempo(context, appWidgetManager), 1, 5000);
}
private class MyTempo extends TimerTask{
RemoteViews rv;
AppWidgetManager apw;
ComponentName widget;
Context c;
public MyTempo(Context context, AppWidgetManager awm){
this.c = context;
this.apw = awm.getInstance©;
this.rv = new RemoteViews(context.getPackageName(), R.layout.layout_widget);
this.widget = new ComponentName(context, WidgetClasse.class.getName());
}
public void run() {
AssetManager am = c.getApplicationContext().getAssets();
byte[] buffer = null;
Random ran = new Random();
InputStream is;
try {
is = am.open(“2m/fisica/” + new Integer(ran.nextInt(9) + 1).toString() + “.txt”);
int size = is.available();
buffer = new byte[size];
is.read(buffer);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
String texto = new String(buffer);
String[] a = texto.split(";");
Intent i = new Intent(c.getApplicationContext(), MainActivity.class);
i.putExtra(“TITULO”, a[2]);
i.putExtra(“TEXTO”, a[3]);
i.putExtra(“LINK”, a[4]);
i.putExtra(“MATERIA”, a[5]);
i.putExtra(“SERIE”, a[6]);
PendingIntent p = PendingIntent.getActivity(c, 0, i, 0);
rv.setOnClickPendingIntent(R.id.imageButton1, p);
String text = i.getStringExtra("TITULO")+i.getStringExtra("TEXTO")+ i.getStringExtra("LINK")+ i.getStringExtra("MATERIA")+ i.getStringExtra("SERIE");
Log.i("doideira", text);
rv.setTextViewText(R.id.textViewWidget, a[1]);
apw.updateAppWidget(widget, rv);
}
}[/code] o classe do widget
minha acvity, a parte que lê as strings do intent, e faz o resto, pode ter uma porrada de codigo morto mas desconsiderem
Intent i = getIntent();
if (i.getStringExtra("TITULO")!= null){
this.exibirO(i.getStringExtra("TITULO"), i.getStringExtra("TEXTO"), i.getStringExtra("LINK"), i.getStringExtra("MATERIA"), i.getStringExtra("SERIE"));
String text = i.getStringExtra("TITULO")+i.getStringExtra("TEXTO")+ i.getStringExtra("LINK")+ i.getStringExtra("MATERIA")+ i.getStringExtra("SERIE");
Log.i("doideiraActivity", text);
i.removeExtra("TITULO");
i.removeExtra("TEXTO");
i.removeExtra("LINK");
i.removeExtra("MATERIA");
i.removeExtra("SERIE");
}
o que eu quero é que ele limpe tudo, o widget le um arquivo diferente, mas no intent não vai!!! por favor ajudem