Android显示textView而不是toast,只显示toast的最后一部分

时间:2017-06-01 14:39:41

标签: java android json

我已经能够像这样在敬酒中很好地展示json了: 核心价值 关键:价值

在公共类中定义textview:

private TextView resultaat;

这是我的TextView声明:

resultaat = (TextView) findViewById(R.id.resultaat);

这是它制作toast(s)的部分,现在是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));
    }

}

我现在想要的就像每次使用toast show to key:value一样,但使用这行代码:

resultaat.setText(keyValue+":"+obj.getString(keyValue));

它只显示最后一个键:json的值我怎么能让它显示所有的键:值像吐司?

BTW这是一篇很老的帖子,所以不要看评论!!

2 个答案:

答案 0 :(得分:0)

在保存值时使用它。

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();

中使用它
String IP = shared.getString("IP", "no_ip");
String PORT = shared.getString("PORT", "no_port");

答案 1 :(得分:0)

像这样更新您的代码

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));
}