0

AndroidのUIデザインに慣れるための簡単なプログラムを作成しました。線形レイアウト内にテキストを動的に追加しました。コードをデバッグすると、logcatにエラーが表示されませんが、コードは完全に正常に実行されます。しかし、デバイスにテキストが表示されません。GalaxyS2を使用しています。エミュレーターも使用してみました。しかし、何も現れませんでした。デバイス/エミュレーターにテキストが表示されない理由がわかりません。助けてください。

これが私の活動です

public class ViewActivity extends Activity {
/** Called when the activity is first created. */
LinearLayout bar;
String myarray[]={"Foot Ball","Basket Ball","Cricket"};
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bar= (LinearLayout) findViewById(R.id.tag);// Map the Layout
bar.setVisibility(View.VISIBLE);
TextView bs_text[]= new TextView[myarray.length]; // Create TextView according to value in length variable;

for(int z=0;z< myarray.length ;z++)
{
try
{

bs_text[z] = (TextView) new TextView(this);
bs_text[z].setText( myarray [z]);
//bs_text[z].setTextSize(1);
bs_text[z].setBackgroundColor(android.graphics.Color.TRANSPARENT);
bs_text[z].setTextColor(android.graphics.Color.BLACK);
int height_in_pixels = bs_text[z].getLineCount() * bs_text[z].getLineHeight(); //approx height text
bs_text[z].setHeight(height_in_pixels);
//bs_text[z].setHeight(android.graphics.)
bar.addView(bs_text[z]);
}

catch(ArrayIndexOutOfBoundsException e)
{
Log.d("ArrayIndexOutOfBoundsException",e.toString());
}
}
}
    }

これが私のmain.xmlです

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tag"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</LinearLayout>
4

4 に答える 4

3

layoutparamsをtextviewに次のように設定します。

bs_text[z].setBackgroundColor(0xffffffff);
bar.addView(bs_text[z],new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
于 2012-04-24T04:05:20.157 に答える
0

次のようにlayoutparamsをtextviewに設定してみてください

LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
textview.setLayoutParams(lp);
于 2012-04-24T04:01:01.863 に答える
0

最初に表示したときLinearViewは、おそらくwidth=0と=0で表示されます。height

android:layout_width="wrap_content"
android:layout_height="wrap_content"

コンテンツがないため、サイズは0です。次のようにビューをリセットする必要があります。

LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
bar.setLayoutParams(lp);

TextViewsを追加した後

于 2012-04-24T04:03:52.797 に答える
0

TextViewに特定の重みを付けたい場合は、次のようにレイアウトパラメータを設定できます-

LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT,1.0f);

ここ1.0fで、はの重量を示していTextViewます。次に、パラメータをに追加しますTextView

bs_text[z].setLayoutParams(param);
于 2013-06-05T06:48:55.327 に答える