7

これが私の問題です。データベースがあり、テレビ番組のエピソードでいっぱいです。1 つの列はエピソード番号を示します。次のようにエピソードをリストに表示したい:

  • エピソード1
  • エピソード 2
  • エピソード 3

これを行うためにSimpleCursorAdapterを拡張する独自のアダプタークラスを使用しています...フォーマットエラーがあったため、使用していAndroid.R.layout.simple_list_item_1ますAndroid.R.id.text1

基本的に、カスタム アダプターを使用する唯一の理由は、次のようなことができるようにするためです。

textView.setText("Episode " + cursor.getString("column_for_episode_number");

問題は、次のようなリストを取得することです。

  • エピソード
  • 1
  • エピソード
  • 2
  • エピソード
  • 3

このようなことを試すと(コードの別の部分で機能しました):

String text = "Episode " + cursor.getString("blah");
text = text.replaceAll("\\n","");

まったく同じリスト出力が得られます:(

2 つのテキスト ボックスが隣り合ったカスタム ビューを作成しないのはなぜですか? それをきれいに見せるのは難しいです:/

4

7 に答える 7

5

置き換えて同じテストを再度実行する前に、先頭に新しい行があるかどうかを確認します。

for(int i=0; cursor.getString("blah").length()-1; i++)
{

   if(cursor.getString("blah").charAt(i)=='\\n')  <-- use the constant for the line separator
    { 
      Log.i("NEW LINE?", "YES, WE HAVE");
    }

}

または、次の.contains("\n");方法を使用します。

テキストビューの幅についてもxmlを確認してください。

getString()整数を取得するときに使用するのはなぜですか? テキストビューで値を設定するときに使用getInt()してから使用します。Integer.toString(theint)

于 2011-07-26T01:35:21.410 に答える
5

コードに誤りがあります。「\\n」の代わりに「\n」を使用

String myString = "a string\n with new line"
myString = myString.replaceAll("\n","");
Log.d("myString",myString);
于 2016-11-07T07:17:57.423 に答える
0

これは私のために働いた(Android 4.4上):

(本文は、ハンドセットの EditText ビューから入力された改行を含む文字列です)

for (int i=0; i<body.length(); i++) {
    if (body.charAt(i) == '\n' || body.charAt(i) == '\t') {
        body = body.substring(0, i) + " " + body.substring(i+1, body.length());                         
    }
}
于 2014-08-07T20:22:36.000 に答える
0

改行の問題ではなく、ラッピングの問題にぶつかっているようです。これを変える:

String text = "Episode " + cursor.getString("blah");

これに:

String text = "Episode" + cursor.getString("blah");

そして、それが出力を変更するかどうかを確認します。レイアウト xml を投稿してください。

于 2011-07-26T01:45:08.827 に答える