На главной странице показаны все группы. Затем, если пользователь щелкнет группу, он попадет на страницу группы. История чата будет восстановлена. Я использовал функцию printLeftSide для печати всех записей истории. Впервые это работает. Но если я нажму кнопку «Назад», а затем повторно войду на страницу группы, записи истории не будут видны и исчезнут. Я проследил функцию printLeftSide, и данные подходят для добавления представлений в линейный макет. Функция «printLeftSide» показана следующим образом:
Код: Выделить всё
void printLeftSide(String s, String name, Date dt)
{
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
try {
display.getRealSize(size);
} catch (NoSuchMethodError err) {
display.getSize(size);
}
int width = size.x;
int height = size.y;
LinearLayout llMessageDT = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
2*width/5,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(10,10,10,10);
llMessageDT.setOrientation(LinearLayout.HORIZONTAL);
llMessageDT.setLayoutParams(params);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dt_ = (String) df.format(dt);
TextView tv3 = new TextView(thisView);
tv3.setTextSize(10);
tv3.setText(dt_);
tv3.setGravity(Gravity.LEFT);
TextView tv = new TextView(thisView);
tv.setTextSize(12);
tv.setText(name+" - ");
tv.setGravity(Gravity.LEFT);
llMessageDT.addView(tv);
llMessageDT.addView(tv3);
TextView tv2 = new TextView(thisView);
tv2.setTextSize(20);
tv2.setText(s);
tv2.setGravity(Gravity.LEFT);
LinearLayout ll = (LinearLayout) findViewById(R.id.messageLinearLayout);
ll.addView(llMessageDT, params);
ll.addView(tv2, params);
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-2nd-time
Мобильная версия