
我正在尝试构建一个应用程序,粘贴前一个活动的输入(没有问题),然后从数据库中显示一些内容(按下buttonGet时).问题是,当我尝试运行项目时,我得到了
Java.lang.IllegalStateException:已经附加.我的代码出了什么问题?
package br.exemplozxingintegration; import androID.annotation.Suppresslint; import androID.app.ProgressDialog; import androID.content.ClipData; import androID.content.ClipboardManager; import androID.os.Bundle; import androID.support.v7.app.AppCompatActivity; import androID.vIEw.VIEw; import androID.Widget.button; import androID.Widget.EditText; import androID.Widget.TextVIEw; import androID.Widget.Toast; import com.androID.volley.RequestQueue; import com.androID.volley.Response; import com.androID.volley.VolleyError; import com.androID.volley.toolBox.StringRequest; import com.androID.volley.toolBox.Volley; import org.Json.JsONArray; import org.Json.JsONException; import org.Json.JsONObject; public class SecondActivity extends AppCompatActivity implements VIEw.OnClickListener { private EditText pastetext; private ClipboardManager myClipboard; private ClipData myClip; private button btn; private EditText textVIEw1; private button buttonGet; private TextVIEw textVIEwResult; private ProgressDialog loading; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_second); myClipboard = (ClipboardManager) getSystemService(CliPBOARD_SERVICE); pastetext = (EditText) findVIEwByID(R.ID.textVIEw1); btn = (button)findVIEwByID(R.ID.buttonPaste); btn.performClick(); super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); textVIEw1 = (EditText) findVIEwByID(R.ID.textVIEw1); buttonGet = (button) findVIEwByID(R.ID.buttonGet); textVIEwResult = (TextVIEw) findVIEwByID(R.ID.textVIEwResult); buttonGet.setonClickListener(this); } @Suppresslint("NewAPI") public voID paste(VIEw vIEw) { ClipData cp = myClipboard.getPrimaryClip(); ClipData.Item item = cp.getItemAt(0); String text = item.getText().toString(); pastetext.setText(text); Toast.makeText(getApplicationContext(), "Text Pasted", Toast.LENGTH_SHORT).show(); } private voID getData() { String ID = textVIEw1.getText().toString().trim(); if (ID.equals("")) { Toast.makeText(this, "", Toast.LENGTH_LONG).show(); return; } loading = ProgressDialog.show(this,"Please wait...","Fetching...",false,false); String url = Config.DATA_URL+textVIEw1.getText().toString().trim(); StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() { @OverrIDe public voID onResponse(String response) { loading.dismiss(); showJsON(response); } }, new Response.ErrorListener() { @OverrIDe public voID one rrorResponse(VolleyError error) { Toast.makeText(SecondActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); } private voID showJsON(String response){ String name=""; String image = ""; try { JsONObject JsonObject = new JsONObject(response); JsONArray result = JsonObject.getJsONArray(Config.JsON_ARRAY); JsONObject collegeData = result.getJsONObject(0); name = collegeData.getString(Config.KEY_name); image = collegeData.getString(Config.KEY_IMAGE); } catch (JsONException e) { e.printstacktrace(); } textVIEwResult.setText("name:\t"+name+"\nImagine :\t"+ image); } @OverrIDe public voID onClick(VIEw v) { getData(); } }解决方法:
在你的onCreate中,你两次调用super.onCreate(),并且两次调用setContentVIEw().我很确定这不是你想要做的.
总结以上是内存溢出为你收集整理的Java.lang.IllegalStateException:已经附加全部内容,希望文章能够帮你解决Java.lang.IllegalStateException:已经附加所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)