在Android中向相对布局添加文本视图
所以我到处都在研究,但似乎没有其他人有这个问题,可能是因为他们知道如何编程,但无论如何,我试图在我的Android应用程序的相对布局中添加一个文本视图,但无论我做什么,我都无法获得布局中已有的文本和按钮。 以下是我的活动代码:在Android中向相对布局添加文本视图,android,textview,Android,Textview,所以我到处都在研究,但似乎没有其他人有这个问题,可能是因为他们知道如何编程,但无论如何,我试图在我的Android应用程序的相对布局中添加一个文本视图,但无论我做什么,我都无法获得布局中已有的文本和按钮。 以下是我的活动代码: public class EnterApp extends Activity { int marblesInJar=0; int targetMarblesInJar=0; @Override public void onCreate(Bundle savedInstan
public class EnterApp extends Activity {
int marblesInJar=0;
int targetMarblesInJar=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent= getIntent();
targetMarblesInJar= intent.getIntExtra("MESSAGE_marbles",0);
RelativeLayout marble= new RelativeLayout(this);
TextView textView = new TextView(getApplicationContext());
textView.setTextSize(20);
textView.setText("Your marble jar will be full when it has "+ targetMarblesInJar + " marbles. You have " + marblesInJar + " marbles.");
textView.setTextColor(Color.BLACK);
marble.addView(textView);
this.setContentView(R.layout.activity_enter_app);
// Show the Up button in the action bar.
setupActionBar();
}
以下是我的xml相对布局代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".EnterApp" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_marginRight="16dp"
android:layout_toLeftOf="@+id/button2"
android:onClick="addMarble"
android:text="@string/addMarble" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="82dp"
android:layout_marginRight="22dp"
android:onClick="lossMarble"
android:text="@string/loseMarble" />
</RelativeLayout>
您已经拥有了
RelativeLayout
,因此不需要这样做
RelativeLayout marble= new RelativeLayout(this);
这将创建一个新的RelativeLayout
。只需创建您的文本视图
,并在使用setContentView()充气后将其添加到此布局
@凌驾
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setContentView(R.layout.activity_enter_app);
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText("Your marble jar will be full when it has "+ targetMarblesInJar + " marbles. You have " + marblesInJar + " marbles.");
textView.setTextColor(Color.BLACK);
marble = (RelativeLayout) findViewById(R.id.relativelayout); // id you gave your root layout
marble.addView(textView);
在onCreate()方法中有setContentView()方法,该方法将活动的视图设置为其中定义的布局文件。现在,活动的父视图是id为“relativeLayout”的相对布局。您需要将您的textview添加到relativeLayout中,它才能显示出来。其代码如下:
RelativeLayout父项=(RelativeLayout)findViewById(R.id.RelativeLayout)
parent.addView(textView)
它现在应该会显示。嗯..您没有将称为大理石的相对布局添加到活动的视图中。不客气。如果答案对您有效,请单击答案旁边的复选标记
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setContentView(R.layout.activity_enter_app);
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText("Your marble jar will be full when it has "+ targetMarblesInJar + " marbles. You have " + marblesInJar + " marbles.");
textView.setTextColor(Color.BLACK);
marble = (RelativeLayout) findViewById(R.id.relativelayout); // id you gave your root layout
marble.addView(textView);