So bekam ich ein Projekt mit den folgenden Aktivitäten: MainActivity/GetJson/TimerActivity.Change TextView zwischen Aktivitäten
getJSON Aktivität:
public class GetJson extends AppCompatActivity {
String JSON_STRING;
String json;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void getJSON(View view){
new BackgroundTask().execute();
}
public class BackgroundTask extends AsyncTask<Void,Void,String> {
String json_url;
@Override
protected void onPreExecute() {
json_url="http://10.10.103.36/projet/php/fichier.php";
}
@Override
protected String doInBackground(Void... params) {
try {
URL url=new URL(json_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder=new StringBuilder();
while ((JSON_STRING= bufferedReader.readLine())!=null){
stringBuilder.append(JSON_STRING+"\n");
}
bufferedReader.close();
inputStream.close();;
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
json=result;
}
}
}
Timer Aktivität
public class TimerActivity extends Activity {
private TextView test;
String msg = "Hey";
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
test = (TextView) findViewById(R.id.compteur);
Timer timer = new Timer();
TimerTask tt = new TimerTask()
{
@Override
public void run()
{
test.setText(msg);
}
};
timer.scheduleAtFixedRate(tt,5000,1000); // Delay 5 seconds on the first run
// then run every second
test.setText(msg);
setContentView(R.layout.activity_main);
}
}
In meiner xml Haupttätigkeit bekam i2 Textview: - compteur: einen Text aus meinem timeractivity anzuzeigen - textViewJson: anzuzeigen mein JSON
Ich denke, meine Methoden, JSON (von GetJson) zu erhalten und Text (von TimerActivity) anzuzeigen, sind korrekt . Aber das Problem ist, dass ich Text von anderen Aktivitäten zu meiner Haupttätigkeit nicht setzen kann. Ich habe kein Kompilierungsproblem, aber mein TextView wird nicht aktualisiert. Ich habe versucht, sowohl in getJSON und TimerActivity nur tun:
TextView test;
test = (TextView) findViewById(R.id.compteur);
test.setText(msg);
Um zu überprüfen, ob ich die Textview Text ändern kann, ohne auch nur die zurückgegebenen Werte zu verwenden und nichts passiert.
Irgendwelche Ideen?
Guten Tag!
bitte klar erkennen lassen, was Ihr Problem und was Sie –
will ich will mein json Ergebnis in meinem MainActivity-Layout in Textviews anzuzeigen und Text eines Textview jeweils 5s ändern . Das Problem, wie ich versuchte zu erklären (Mein Englisch ist nicht so gut), ist, dass ich Text von Textview nicht von anderen Aktivitäten ändern kann. Bsp: Ändern Sie mein TextViewJson (in mainActivity-Layout) von meiner GetJson-Aktivität – AlexMel
ok, so dass Sie json parsh Daten bedeutet, welche Daten, die Sie in der Textansicht festlegen möchten, kommt ??? –