Java Android显示textView而不是toast仅显示toast的最后一部分

Java Android显示textView而不是toast仅显示toast的最后一部分,java,android,json,Java,Android,Json,我已经能够在这样的祝酒辞中展示json的完美分割: 关键词:价值 关键词:价值 在公共类中定义textview: private TextView resultaat; 这是我的文本视图的声明: resultaat = (TextView) findViewById(R.id.resultaat); 这是它制作toast的部分,现在是textView的setText: public void parseJson (String jsonString) throws JSONException

我已经能够在这样的祝酒辞中展示json的完美分割: 关键词:价值 关键词:价值

在公共类中定义textview:

private TextView resultaat;
这是我的文本视图的声明:

resultaat = (TextView) findViewById(R.id.resultaat);
这是它制作toast的部分,现在是textView的setText:

public void parseJson (String jsonString) throws JSONException{
    Toast.makeText(this, jsonString, Toast.LENGTH_LONG).show();
    JSONObject obj=new JSONObject(jsonString);
    //Getting all the keys inside json object with key- pages
    Iterator<String> keys= obj.keys();
    while (keys.hasNext())
    {
        String keyValue = (String)keys.next();
        Toast.makeText(this, keyValue+":"+obj.getString(keyValue), Toast.LENGTH_LONG).show();
        resultaat.setText(keyValue+":"+obj.getString(keyValue));
    }

}
它只显示json的最后一个key:value,如何使它像toast一样显示所有key:value


顺便说一句,这是一篇老文章,所以不要看评论

保存值时使用此选项

btnSave.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (!validateIpAdres(ipadres.getText().toString())) {
            ipadres.setError("Geen geldig IP-adres");
            ipadres.requestFocus();
        } else if (!validatePoort(poort.getText().toString())) {
            poort.setError("Geen geldige Poort");
            poort.requestFocus();
        } else {
            //save the Ip-adres
            String IP = mIpAdres.getText().toString();
            shared.edit().putString("IP", IP).commit();

            //save the Poort
            String PORT = mPoort.getText().toString();
            shared.edit().putString("PORT", PORT).commit();
        }
    }
});
当返回mainActivity时,在
onResume()中使用此选项


像这样更新代码

while (keys.hasNext())
{
    String keyValue = (String)keys.next();
    Toast.makeText(this, keyValue+":"+obj.getString(keyValue), Toast.LENGTH_LONG).show();
    resultaat.setText( resultaat.getText().toString()+ keyValue+":"+obj.getString(keyValue));
}

您知道如何使用
Intent
将信息从一个活动传递到另一个活动吗?这在
MainActivity
内部的一个片段中?使用
mEditor=shared.edit()
在另一个调用之前。@Merijn欢迎使用Android开发。shared是SharedReferences的对象。您需要实现
onResume()
。提示:-在编写代码之前,请阅读活动生命周期和共享参考以及一些基础知识…@Merijn ok。。因此首先创建一个对象
SharedReferences shared=getSharedReferences(“MY_PREF”,Context.MODE_PRIVATE)并按我在回答中发布的方式使用。问题是什么?您没有得到这些值吗?(“IP”、“no_IP”)和(“PORT”、“no_PORT”)都有红线,并且“java.util.ResourceBundle”中的“getString(java.lang.String)”不能应用于“(java.lang.String,java.lang.String)”检查您的
共享对象。。它的定义正确吗?
String IP = shared.getString("IP", "no_ip");
String PORT = shared.getString("PORT", "no_port");
while (keys.hasNext())
{
    String keyValue = (String)keys.next();
    Toast.makeText(this, keyValue+":"+obj.getString(keyValue), Toast.LENGTH_LONG).show();
    resultaat.setText( resultaat.getText().toString()+ keyValue+":"+obj.getString(keyValue));
}