Макет таблицы в Android - PullRequest
       1

Макет таблицы в Android

0 голосов
/ 03 сентября 2011

Я попробовал следующий код для разметки таблицы в Android без использования XML-файла.Но я не получил свой экран на эмуляторе Android, но получил ошибку как «приложение неожиданно остановилось. Пожалуйста, попробуйте еще раз.»

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class Tablelayout extends Activity{
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    LayoutParams params=new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);

    TextView tv=new TextView(this);
    tv.setLayoutParams(params);
    tv.setTextColor(Color.RED);

    TableRow tr=new TableRow(this);
    tr.addView(tv);

    TableLayout tl=new TableLayout(this);
    TableLayout.LayoutParams layoutparams=new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    tl.addView(tr);

    this.addContentView(tl, layoutparams);
}

}

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Я не получаю силу закрытия при запуске этого кода, но вы что-то упустили.

Я попытался добавить следующее, но не увидел никакого текста:

tv.setText("Hello world!");

Проблема в том, что когда вы вызываете tr.addView, вы не устанавливаете никаких параметров макета в новой строке.Если вы измените строку на следующую, появится текст:

tr.addView(tv, new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

Редактировать: Вот мысль о принудительном закрытии, правильно ли определено Tablelayout в вашем AndroidManifest.xml?У вас должно быть что-то вроде этого.

<application android:label="@string/app_name">
    <activity android:name=".Tablelayout" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
0 голосов
/ 03 сентября 2011

ну, я не вижу какой-либо конкретной причины, что этот код может привести к закрытию силы. Есть несколько способов устранить это:

  1. Посмотрите на logcat, чтобы увидеть, какое исключение выдается. Это может дать вам представление о том, в чем проблема.
  2. Установить отладчик на разрыв при возникновении исключения. Это очень просто настроить в окне точек останова в перспективе отладки. Вот учебник по этому вопросу: http://blogs.bytecode.com.au/glen/2007/04/06/eclipse-tip--breakpoint-on-exception.html

Если вы не можете устранить проблему с помощью двух описанных выше методов, пожалуйста, опубликуйте более подробную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...