public class AddNetActivity extends Activity {
String Url = "https://dl.dropboxusercontent.com/u/103170339/WebStock.xml";
TextView textInfo;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
actionBar = getActionBar();
textInfo = (TextView) findViewById(R.id.text_view_new_info);
// textInfo.setText("adasd"); <<<<<<<<<<<<
actionBar.setDisplayHomeAsUpEnabled(true);
NetworkStatusXmlStart();
setContentView(R.layout.activity_add_net);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.add_net, menu);
return true;
}
// Respond to Action Buttons
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_accept:
// openAccept();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void NetworkStatusXmlStart(){
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
new WriteToXml().execute(Url);
} else {
// show error
}
}
private class WriteToXml extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... urlS){
try {
return downloadUrl(urlS[0]);
} catch (IOException e) {
return null;
} catch (XmlPullParserException e) {
return null;
}
}
@Override
protected void onPostExecute(String Result){
// make resutlts
}
}
private String downloadUrl(String UrlStr) throws XmlPullParserException, IOException{
InputStream streamInput = null;
XmlPullParser parser;
String writed;
try{
streamInput = dowStream(UrlStr);
parser = downloadParser(streamInput);
writed = WriteToParserAndShow(parser);
} finally{
if (streamInput != null) {
streamInput.close();
}
}
return writed;
}
private InputStream dowStream(String Surl) throws IOException{
URL url = new URL (Surl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
return conn.getInputStream();
}
private XmlPullParser downloadParser(InputStream impStream) throws XmlPullParserException, IOException{
XmlPullParser parser = Xml.newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(impStream, null);
parser.nextTag();
return parser;
}
private String WriteToParserAndShow(XmlPullParser pars) throws XmlPullParserException, IOException{
String Info = null, endTagName;
return Info;
}
}
为什么我想使用setText,Activity粉碎?当我把它评论时它工作正常。 Xml文件看起来像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".AddNetActivity"
android:background="#ccccf9" >
<TextView
android:id="@+id/text_view_new_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="132dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
告诉我是否需要logcat。 如何更改此textView中的文本?错误在哪里? 请帮忙
答案 0 :(得分:1)
您要在textview
setContentView
中声明并设置文字
将setContentView(R.layout.activity_add_net);
移到onCreate();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
here > setContentView(R.layout.activity_add_net);
答案 1 :(得分:0)
在使用setContentView()
之前,您必须致电findViewById()
。
findViewById
遍历内容视图,以查找由您传递的id作为第一个参数指定的子视图。但是如果尚未设置内容视图,它应该如何找到任何内容?
当您访问其中一个未找到的视图的函数或变量时,这会导致NullPointerException
。
答案 2 :(得分:0)
你忘了给你的布局充气。 setContentView(R.layout.mylayoutfile)
来电后插入 super.onCreate()
。
答案 3 :(得分:0)
请验证setText()中提供的属性ID是否正确? 您可能在调用setText()时遇到NullPointerException,因为activity_main.xml中提供的属性的ID可能与MainActivity.java中提供的attribute_id不匹配