我正在制作一个应用程序,使用facebook sdk for android将一些信息发布到你的Facebook墙上。这样可行,但我似乎无法在帖子上获得新的内容。我已经尝试了\n
,但它确实有效。有什么建议吗?
这是我的代码:
Bundle parameters = new Bundle();
String temp = "";
for (int i = 0; i < mArrayAdapter.getCount(); i++){
temp = temp + mArrayAdapter.getItem(i) + "\n"; // Not working
}
parameters.putString("message", temp);
mFacebook.dialog(this, "stream.publish", parameters, new DialogListener());
谢谢,
詹姆斯·福特
答案 0 :(得分:1)
嗨詹姆斯我之前尝试过,即使使用HTML代码,但我认为这是不可能的。 原因是,Facebook必须有一个控制权来避免他的帖子上出现空格或换行。
答案 1 :(得分:1)
流信息中不允许使用新行(过去您可能看过它们的事实是Facebook上的错误)。
答案 2 :(得分:0)
利用JSON在Facebook上发布.. 怎么样? look here
步骤: -
步骤1: - 在此链接中,您将了解如何使用JSON将文本设置为TEXTVIEW。
第2步: - 可能这不是你要找的:)将textview的文本分配给某个字符串
使用GetText().ToString
第3步: - 使用此字符串发布到Facebook。
第4步: - 我在谷歌搜索后花了很多时间做了同样的事情,最后得到了结果 通过使用这个技巧。你可以看到我在测试期间发布的帖子here
步骤5: - 使用
设置此文本框的可见性tv.setVisibility(View.GONE)
你完成了对Facebook的发帖.. 让facebook和textview处理他们如何管理空格和换行符:D
对于像我这样的新手来说,有些编码工作......
我是点击按钮
发布的1)
tv= (TextView)findViewById(R.id.tv);
click=(Button)findViewById(R.id.btn1);
click.setOnClickListener(mthdpost);
2)将点击事件添加到此按钮
private View.OnClickListener mthdpost=new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String json = "{"
+ " \"name\": \"myName\", "
+ " \"message\": [\"myMessage1\",\"myMessage2\"],"
+ " \"place\": \"myPlace\", "
+ " \"date\": \"thisDate\" "
+ "}";
/* Create a JSON object and parse the required values */
JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
String name = object.getString("name");
String place = object.getString("place");
String date = object.getString("date");
JSONArray message = object.getJSONArray("message");
String MessageToPost= null;
tv.setText("Name: "+ name +"\n\n");
tv.append("Place: "+ place +"\n\n");
tv.append("Date: "+ date +"\n\n");
/*JSONObject attachment = new JSONObject();
attachment.put("Name: ","\n\n");
attachment.put("Place: ","\n\n");
attachment.put("Date: ","\n\n");*/
for(int i=0;i<message.length();i++)
{
tv.append("Message: "+ message.getString(i) +"\n\n");
//attachment.put("Message: ","\n\n");
}
MessageToPost=tv.getText().toString();
postToWall(MessageToPost);// called the method having logic to post on wall and sending the textview text to to post as message
} catch (JSONException e)
{e.printStackTrace();
}
catch(Exception ex)
{ex.printStackTrace();}
}
};
3)发布消息的方法
public void postToWall(String msg){
Log.d("Tests", "Testing graph API wall post");
try {
String response = facebook.request("me");
Bundle parameters = new Bundle();
//parameters.putString("message", msg.toString());
parameters.putString("message", msg);
parameters.putString("description", "test test test");
response = facebook.request("me/feed", parameters,
"POST");
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("") ||
response.equals("false")) {
Log.v("Error", "Blank response");
}
} catch(Exception e) {
e.printStackTrace();
}
}
答案 3 :(得分:0)
这对我有用:
StringBuilder messageData = new StringBuilder(title).append('\n')
.append('\n').append(message).append('\n').append('\n')
.append(description);
// Message
postParams.putString("message", messageData.toString());
答案 4 :(得分:-1)
这有效:
使用此:<center></center>
而不是br或换行符等。你只能连续做一个(即你不能增加间距)。