我有一个AsyncTask
,我想在我的 layout.xml 文件中设置TextView
的文字,但我的应用程序崩溃了,错误就是这个
android.content.res.Resources $ NotFoundException:字符串资源ID#0x2
请帮帮我!
public class UploadVideo extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
transferUtility = Util.getTransferUtility(this);
requestWindowFeature(getWindow().FEATURE_NO_TITLE);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.my_activity);
context = this;
new get_people_data().execute();
}
public class get_people_data extends AsyncTask<String,String,String>{
final String TAG = "get_people_data";
String API_URL = "http://api.expressionsapp.com/users/auth0_5732cc152781665b7b5dfee6/status/";
int front;
int behind;
@Override
protected String doInBackground(String...arg0)
{
try
{
JsonParser jParser = new JsonParser();
JSONObject json = jParser.getJSONFromUrl(API_URL);
behind= json.getInt("countBack");
front= json.getInt("countFront");
}catch (JSONException e)
{
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s)
{
TextView ppl_infront;
TextView ppl_behind;
ppl_infront = (TextView) findViewById(R.id.ppl_infront);
ppl_infront.setText(front);
ppl_behind = (TextView) findViewById(R.id.ppl_behind);
ppl_behind.setText(behind);
}
}
}
答案 0 :(得分:2)
问题在于
ppl_infront.setText(front);
ppl_behind.setText(behind);
因为你使用
传递和int(前面是int类型)final void setText(int resid)
并且系统在R文件中搜索具有该int id(即自动生成的文件)
改变:
ppl_infront.setText(String.valueOf(front));
ppl_behind.setText(String.vaueOf(behind));
使用
final void setText(CharSequence text)
这里是官方reference
答案 1 :(得分:0)
做你的
ppl_infront = (TextView) findViewById(R.id.ppl_infront);
和
ppl_behind = (TextView) findViewById(R.id.ppl_behind);
onCreate()
方法中的
如果它无法解决您的问题,请发布您的xml文件。
答案 2 :(得分:0)
快速解决方案:
如果您不想弄乱String.value(front)
,可以将文字设置如下。
ppl_behind.setText(front + "");