1
所以我得到了一個具有以下活動的項目:MainActivity/GetJson/TimerActivity。更改活動之間的TextView
的getJSON活動:
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;
}
}
}
定時器活動
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);
}
}
在我的XML的主要活動我得到2的TextView: - compteur:顯示從我timeractivity 文本 - textViewJson:顯示我的json
我想我的方法來獲取JSON(從GetJson)和顯示文本(從TimerActivity)是正確的。但問題是我無法將其他活動的文本設置爲我的主要活動。 我沒有任何編譯問題,我的textView沒有得到更新。 我想無論是在的getJSON和TimerActivity只是做:
TextView test;
test = (TextView) findViewById(R.id.compteur);
test.setText(msg);
爲了檢查,如果我可以改變TextView的文本,甚至沒有使用返回的值,並沒有任何反應。
任何想法?
祝您有美好的一天!
請明確註明你的問題,你想 –
我想在我的MainActivity佈局TextView顯示我的JSON結果,並改變一個TextView的文本每5秒什麼。我試圖解釋的問題(我的英語不是那麼好),是因爲我無法從其他活動中更改文本視圖的文本。例如:從我的GetJson活動中更改我的TextViewJson(在mainActivity佈局中) – AlexMel
ok,因此您擁有json parsh數據意味着您要在文本視圖中設置哪些數據正在進行配置? –