5 Stimmen

facebook sdk Android Wand Beitrag Zeilenumbruch

Ich mache eine Anwendung, die einige Informationen auf Ihrer Facebook-Pinnwand mit Facebook-Sdk für Android veröffentlicht. Dies funktioniert, aber ich kann nicht scheinen, um neue Zeilen auf die Beiträge zu erhalten. Ich habe versucht \n aber es funktioniert nicht. Irgendwelche Vorschläge?

Hier ist mein Code:

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

Danke,

James Ford

1voto

Jorgesys Punkte 119076

Hallo James, ich habe das schon versucht, sogar mit html-Code, aber ich glaube, das ist nicht möglich. Der Grund, Facebook muss eine Kontrolle haben, um Leerzeichen oder Zeilenumbrüche in seinen Beiträgen zu vermeiden.

1voto

daaku Punkte 2797

Neue Zeilen sind in Stream-Posts nicht erlaubt (die Tatsache, dass du sie in der Vergangenheit gesehen haben könntest, ist ein Fehler auf Facebook).

0voto

DeltaCap019 Punkte 6416

JSON nutzen, um auf Facebook zu posten. Wie? siehe hier

SCHRITTE :-

Schritt 1 :- Unter diesem Link erfahren Sie, wie Sie JSON verwenden, um Text in TEXTVIEW zu setzen.

Schritt 2: - Möglicherweise ist dies nicht u r suchen :) weisen Sie den Text von textview zu einigen String mit GetText().ToString

Schritt 3: - Verwenden Sie diese Zeichenfolge, um auf Facebook zu posten.

Schritt 4 :- Ich habe das Gleiche getan, nachdem ich viel Zeit mit Googeln verbracht habe und schließlich das Ergebnis erhalten habe durch die Verwendung dieses Tricks. u können meine Post, dass ich während des Tests gepostet sehen aquí

Schritt 5: - Setzen Sie die Sichtbarkeit dieses Textfeldes auf weg mit

tv.setVisibility(View.GONE)

Und du bist fertig mit deinem Posting auf Facebook.. Lass facebook und textview selbst entscheiden, wie sie mit Leerzeichen und Zeilenumbrüchen umgehen :D

Einige Coding-Arbeiten für Neulinge wie mich...

Ich poste es auf Knopfdruck

1)

 tv= (TextView)findViewById(R.id.tv);
 click=(Button)findViewById(R.id.btn1);
    click.setOnClickListener(mthdpost);

2) Fügen Sie ein Klick-Ereignis zu dieser Schaltfläche hinzu

   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) Methode zur Veröffentlichung der Nachricht

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

        }

ICH HOFFE, ES HILFT :)

0voto

Nick Ionita Punkte 1

Das hat bei mir funktioniert:

StringBuilder messageData = new StringBuilder(title).append('\n')
    .append('\n').append(message).append('\n').append('\n')
    .append(description);
// Message
postParams.putString("message", messageData.toString());

-1voto

HardlyNoticeable Punkte 446

Das funktioniert:

Verwenden Sie dies: <center></center>

Anstelle eines br oder eines Zeilenumbruchs usw. Sie können nur einen in einer Reihe setzen (d. h. Sie können den Abstand nicht vergrößern).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X