TextView settext在Activity中没有效果

时间:2015-05-18 06:41:21

标签: android xml android-fragments

textview

这是在Activity中的TextView中设置文本的问题。我想问题是我在另一个活动中为每个片段XML使用了相同的id。我使用相同的XML代码进行相对布局,但都在片段中运行良好。 TextView的问题在于另一个活动。请看一下我的代码:

@Override
public void onCreate(final Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_main);
    TextView townNameTxt = (TextView)findViewById(R.id.town_name_txt);
    TextView tradeTxt = (TextView)findViewById(R.id.trade_txt);
    String townName1 = "London";
    String trade1 = "buy sum";
    townNameTxt.setText(townName1);
    tradeTxt.setText(trade1);
}

和xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:id="@+id/action_bar_title_map"
        android:layout_width="match_parent"
        android:layout_height="@dimen/actionbar_height"
        android:background="@null"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/town_name_txt"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:ellipsize="end"
            android:textSize="@dimen/actionbar_title2"
            android:paddingLeft="@dimen/side_padding"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/trade_txt"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:ellipsize="end"
            android:textSize="@dimen/actionbar_title2"
            android:paddingLeft="@dimen/side_padding"/>
    </RelativeLayout>

        <org.osmdroid.bonuspack.mapsforge.GenericMapView
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/action_bar_title_map"/>


</RelativeLayout>

首先我要做的是解决这个问题:我更改了TextView的ID。但它没有效果。 我试图删除XML中的相对布局,并从屏幕中删除。没有从Java文件联系到XML文件。

5 个答案:

答案 0 :(得分:1)

您不会在此代码中获得异常,这很奇怪。

因为没有方法 settext()。有一种叫做 setText()的方法。

答案 1 :(得分:1)

很抱歉打扰并感谢所有答案。问题是一个重复的setcontentView()方法:

@Override
public void onCreate(final Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_main);
    TextView townNameTxt = (TextView)findViewById(R.id.town_name_txt);
    TextView tradeTxt = (TextView)findViewById(R.id.trade_txt);
    String townName1 = "London";
    String trade1 = "buy sum";
    townNameTxt.setText(townName1);
    tradeTxt.setText(trade1);

    setContentView(R.layout.map_main);
}

p.s espacially感谢Sabya

答案 2 :(得分:0)

将方法名称从 settext()更改为 setText() ..

答案 3 :(得分:0)

使用方法settext()到s​​etText()的情况敏感问题。

使用你的onCreate方法:

 @Override
    public void onCreate(final Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_main);
        TextView townNameTxt = (TextView)findViewById(R.id.town_name_txt);
        TextView tradeTxt = (TextView)findViewById(R.id.trade_txt);
        String townName1 = "London";
        String trade1 = "buy sum";
        townNameTxt.setText(townName1);
        tradeTxt.setText(trade1);
    }

清理并构建项目并再次运行。 希望,它会帮助你

答案 4 :(得分:-1)

如果您在Android Lollipop版本上运行它,请卸载并重新安装该应用程序并检查。