这是在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文件。
答案 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()到setText()的情况敏感问题。
使用你的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版本上运行它,请卸载并重新安装该应用程序并检查。