Java 在活动之间更改文本视图
因此,我得到了一个包含以下活动的项目:MainActivity/GetJson/TimerActivity GetJson活动:Java 在活动之间更改文本视图,java,android,textview,settext,Java,Android,Textview,Settext,因此,我得到了一个包含以下活动的项目:MainActivity/GetJson/TimerActivity GetJson活动: public class GetJson extends AppCompatActivity { String JSON_STRING; String json; @Override protected void onCreate(Bundle savedInstanceState) { super.onCre
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;
}
}
}
在我的xml主要活动中,我得到了2个文本视图:
-编译器:显示我的TimePractivity中的文本
-textViewJson:显示我的json
我认为我获取json(从GetJson)和显示文本(从TimerActivity)的方法是正确的。但问题是我不能把别人的活动和我的主要活动分开。
我没有任何编译问题,但是我的文本视图没有更新。
我在GetJson和TimerActivity中都尝试过这样做:
TextView test;
test = (TextView) findViewById(R.id.compteur);
test.setText(msg);
为了检查我是否可以在不使用返回值的情况下更改textview文本,并且什么也没有发生
有什么想法吗
祝你有愉快的一天 一旦你有了想要在电视中显示的信息,你应该将其保存在某个地方,并在创建活动时加载。无法更改已销毁活动中视图的状态。使用意图(
putExtra();
)在活动之间传递数据,或使用请明确说明您的问题和您想要的内容我希望在textview的我的MainActivity布局中显示我的json结果,并每5秒更改textview的文本。我试图解释的问题是(我的英语不是很好),我不能从其他活动中更改textview的文本。例如:从我的GetJson activityok更改我的TextViewJson(在mainActivity布局中),这样你就有了json parsh数据,这意味着你要在文本视图中设置哪些数据正在提交???你不应该从另一个活动更改活动的文本,因为它会产生很多问题(最值得注意的是当第一个活动被销毁时,您尝试访问它)。要解决您的问题,请了解如何在可能重复的活动之间进行正确沟通
TextView test;
test = (TextView) findViewById(R.id.compteur);
test.setText(msg);