2012-10-23 73 views
0

在我的應用程序中,我從JSON獲取文本內容並將該內容顯示到文本視圖中。但是,問題是文本沒有顯示完整,也沒有格式化。我使用http://jsonformatter.curiousconcept.com/檢查了我的JSON,它顯示JSON是有效的。我已經打印了我在日誌中收到的內容,並且它已完成。即使將它設置爲textview並再次從它獲取,我也獲得了完整的數據。但是,它不顯示完整的文本。Android:從JSON中獲取的數據在textview中沒有顯示完整

This is how it appears in the app:

我沒有得到哪裏出了問題。 textview在scrollview中。

下面是我的代碼: 基本活動

public class TIEBaseActivity extends MapActivity 
{ 
//private ProgressDialog dialog; 
public AlertDialog _alertDialog; 
protected HeaderBar _headerBar; 
protected FooterBar _footerBar; 
protected LinearLayout _manager; 
protected LinearLayout form; 
protected TIEBaseActivity _self; 

public void createDefaultView(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.basescreen); 
    this._self=this; 
    initView(); 
} 

public void loadFormFromResource(int resourceID) 
{ 
    LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(resourceID, null); 
    _manager.addView(view); 

} 

public void loadDefaultForm() 
{ 
    form=new LinearLayout(this); 
    form.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 
    form.setOrientation(LinearLayout.VERTICAL); 
    form.setGravity(Gravity.CENTER); 
    _manager.addView(form); 
} 

public void initView() 
{ 

    _headerBar = (HeaderBar) findViewById(R.id.baseHeaderBar); 
    _manager = (LinearLayout) findViewById(R.id.baseScrollContent); 
    //_footerBar = (FooterBar) findViewById(R.id.baseFooterBar); 

    _headerBar.view.setVisibility(View.GONE); 
    //_footerBar.view.setVisibility(View.GONE); 
} 

protected void showScreen(Intent intent) { 
    startActivity(intent); 
} 

public void setHeaderTitle(String title) { 

    if (_headerBar!=null) { 
     _headerBar.setTitle(title); 
    } 

} 

public Handler progressCloseHandler = new Handler() { 
    public void handleMessage(Message msg) { 
     super.handleMessage(msg); 
     if (_alertDialog != null) 
      _alertDialog.cancel(); 
    } 

}; 

private Handler alertViewHandler = new Handler() { 

    public void handleMessage(Message msg) { 
     String message=(String)msg.obj; 
     AlertDialog.Builder _alert = new AlertDialog.Builder(TIEBaseActivity.this); 
     _alert.setMessage(message) 
     .setCancelable(false) 
     .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface arg0, int arg1) { 
      } 
     }); 
     _alert.create().show(); 
    } 
}; 

public void DisplayAlert(String message) { 

    Message msg=Message.obtain(alertViewHandler); 
    msg.obj=message; 
    alertViewHandler.sendMessage(msg); 

} 

public void DisplayAlert(String message, int id) { 

    Message msg=Message.obtain(alertViewHandler); 
    msg.obj=message; 
    msg.what=id; 
    alertViewHandler.sendMessage(msg); 
} 


private Handler closeViewHandler=new Handler() { 
    public void handleMessage(Message msg) { 
     super.handleMessage(msg); 
     _self.finish(); 
    } 
}; 

public void closeScreen() { 

    closeViewHandler.sendMessage(Message.obtain(closeViewHandler)); 

} 

public void openRating() 
{ 
    Intent marketIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.dzo.tie")); 
    startActivity(marketIntent);  
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 

    super.onConfigurationChanged(newConfig); 
} 

public void openShare() 
{ 

    String mMailSubject = "OIE App. - Get the All Indian Events happening in Overseas"; 
    String mMailMessage = null;  
    mMailMessage = "Hi,\n I found this great Application. This application customize for Overseas Indian Events."; 
    mMailMessage += "\n"; 
    mMailMessage += "Go to: https://market.android.com/details?id=com.dzo.oie"; 
    mMailMessage += ",\n Please visit: http://www.dotzoo.net to see more about Dotzoo Inc."; 

    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("text/*");    
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, ""+mMailSubject); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, mMailMessage); 
    startActivity(Intent.createChooser(emailIntent, "Share via...")); 

} 

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 

} 

佈局BaseActivity:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:background="@color/white" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:id="@+id/baseLayout"> 

<com.dzo.tie.ui.HeaderBar 
    android:id="@+id/baseHeaderBar" 
    android:layout_width="fill_parent" 
    android:layout_height="50dp"/> 

<ScrollView 
    android:scrollbars="vertical" 
    android:fillViewport="true" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout 
     android:id="@+id/baseScrollContent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_gravity="center" 
     android:layout_width="fill_parent"> 

    </LinearLayout> 
</ScrollView> 

我伸出我的活動課在此基礎活動:

我的活動

public class TIEInfo extends TIEBaseActivity 
{ 
TextView txtTieInfo; 
String contents; 

private String infoUrl = "http://www.tradeineu.com/tie_app/aboutTie.php"; 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.createDefaultView(savedInstanceState); 
    _headerBar.view.setVisibility(View.VISIBLE); 
    super.setHeaderTitle("Info"); 
    init(); 
    new TIEInfoAsyncTask(getParent(), infoUrl, txtTieInfo).execute(); 
}//onCreate 

public void init() 
{ 
    loadFormFromResource(R.layout.tieinfo); 
    txtTieInfo = (TextView)findViewById(R.id.txtTieInfo); 
}//init 
}//TIEInfo 

佈局我的活動

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/txtTieInfo" 
android:textSize="12sp" 
android:textColor="@color/copper_gold" 
android:lineSpacingExtra="5dp"/> 
+0

請將您的代碼發佈在這裏,可能隨後我們可以幫助您解決您的問題。 –

+0

請參閱我的更新 – Nitish

回答

1

您需要滾動看到你的文本的其餘部分。 把你的textview放在一個scrollView裏面,它會好的。

+0

它已經在scrollview中。 – Nitish

+0

問題是,如果您查看上面張貼的屏幕截圖中的前兩行,從中間某處顯示的文本,而原始內容在該句子之上還有兩個段落,並且我不明白爲什麼它是當完整的內容被設置到文本視圖中時顯示來自中間的內容。 – Nitish

+0

請您發表相關的源代碼。將其添加到您的問題。 –

相關問題