Java 在我的主要活动的文本视图中设置文本
也许我会问一个非常愚蠢的问题。事实上,我是一名.net开发人员,现在正转向Android开发。 我有一个文本视图,我想使用Java 在我的主要活动的文本视图中设置文本,java,android,textview,Java,Android,Textview,也许我会问一个非常愚蠢的问题。事实上,我是一名.net开发人员,现在正转向Android开发。 我有一个文本视图,我想使用setText()将文本放入其中 My MainActivity.java: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(
setText()
将文本放入其中
My MainActivity.java:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
TextView txView = (TextView) findViewById(R.id.lblStatus);
txView.setText("Status Test");
}
XML代码是:
<TextView
android:id="@+id/lblStatus"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tvStatusTag"
android:layout_below="@id/lblImei" />
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.app.MainActivity"
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>
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#e5e5e5"
tools:context="com.example.app.MainActivity$PlaceholderFragment" >
<TextView
android:id="@+id/textView"
android:textColor="#FF0000"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.app.MainActivity"
tools:ignore="MergeRootFrame" />
<?xml version="1.0" encoding="utf-8"?>
代码
public class MainActivity extends ActionBarActivity
{
TextView txView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txView = (TextView) findViewById(R.id.lblStatus);
check();
}
public void check()
{
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
txView.setText("Status Test");
}
else
{
txView.setText("Status Test1");
}
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFE7DB" >
<TextView
android:id="@+id/lblStatus"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tvStatusTag"
android:layout_below="@id/lblImei" />
</RelativeLayout>
代码
public class MainActivity extends ActionBarActivity
{
TextView txView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txView = (TextView) findViewById(R.id.lblStatus);
check();
}
public void check()
{
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
txView.setText("Status Test");
}
else
{
txView.setText("Status Test1");
}
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFE7DB" >
<TextView
android:id="@+id/lblStatus"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tvStatusTag"
android:layout_below="@id/lblImei" />
</RelativeLayout>
Ravi我认为您使用的是appcompat库和4.4 api级别,所以如果我是对的,那么布局文件夹中有两个布局文件,一个是simple activity xml,另一个是fragment.xml
我认为您是在activity.xml中声明这个TextView,而不是在Fragment.xml文件中,所以在运行时您会得到null异常,所以请在Fragment.xml中声明它。Ravi我认为您使用的是appcompat库和4.4 api级别,若我是对的,那个么在布局文件夹中有两个布局文件,一个是简单活动xml,另一个是fragment.xml
我认为您是在activity.xml中声明此TextView,而不是在片段xml文件中,所以在运行时您会得到null异常,所以请在Fragment.xml中声明此TextView。我在下面编辑了此代码,对于Set-TextView,它工作正常。。。 (如果您试图扩展ActionBarActivity,则必须正确导入app_compact_v7和android.support jar) 如果仍然显示错误,请从eclipse中的项目属性刷新项目生成 MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView txView = (TextView) findViewById(R.id.lblStatus);
txView.setText("Status Test");
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/lblStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
我在下面编辑了这段代码,它在Set textview中运行良好。。。 (如果您试图扩展ActionBarActivity,则必须正确导入app_compact_v7和android.support jar) 如果仍然显示错误,请从eclipse中的项目属性刷新项目生成 MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView txView = (TextView) findViewById(R.id.lblStatus);
txView.setText("Status Test");
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/lblStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
试试这个
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.app.MainActivity"
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>
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#e5e5e5"
tools:context="com.example.app.MainActivity$PlaceholderFragment" >
<TextView
android:id="@+id/textView"
android:textColor="#FF0000"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.app.MainActivity"
tools:ignore="MergeRootFrame" />
<?xml version="1.0" encoding="utf-8"?>
结果为
试试这个
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.app.MainActivity"
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>
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#e5e5e5"
tools:context="com.example.app.MainActivity$PlaceholderFragment" >
<TextView
android:id="@+id/textView"
android:textColor="#FF0000"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.app.MainActivity"
tools:ignore="MergeRootFrame" />
<?xml version="1.0" encoding="utf-8"?>
结果为
我只是从fragment\u main.xml中删除了TextView组件(lblStatus),并在MainActivity.java中做了一些更改。代码如下
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
} */
TextView txView = new TextView(this);
txView.setText("Status Text");
setContentView(txView);
}
而且它工作得非常好。。与其他答案不同,因为它非常简单:)我只是从fragment\u main.xml中删除了文本视图组件(lblStatus),并在MainActivity.java中做了一些更改。代码如下
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
} */
TextView txView = new TextView(this);
txView.setText("Status Text");
setContentView(txView);
}
而且它工作得非常好。。因为答案非常简单:)试试这个。这可能会一直持续到不运行我正在发布Logcat现在我已经发布了我的Android.Manifest.xml请检查是的,我刚刚开始Android编程,这是我在“Hello Word”之后的第二个程序。您需要处理xml。您没有使用任何未提及的布局xml类型尝试此。这可能会一直持续到不运行我正在发布Logcat现在我已经发布了我的Android.Manifest.xml请检查是的,我刚刚开始Android编程,这是我在“Hello Word”之后的第二个程序。您需要处理xml。您没有使用任何未提及的布局xml类型“自动停止”的应用程序是否带有LogCat异常堆栈跟踪?@TheCapn请检查LogCat是否可以放置activity_main.xml?@SirSC,我已发布AndroidManifest.xml请检查它…是否有“自动停止”的应用程序带有LogCat异常堆栈跟踪?@TheCapn请检查LogCat是否可以放置活动\u main.xml?@SirSC,我已经发布了AndroidManifest.xml请检查…我从一开始就在Fragment\u main.xml中保存TextView组件。我刚刚在MainActivity.java和it workd中做了上述更改。你能简单解释一下吗?嗨,layout.xml是一个用户前端视图,而活动是一种屏幕行为。因此,我们必须集成xml和活动。因此,必须使用setContentView()方法在相应的活动中调用layout.xml。除非您可能得到空指针异常,否则您在活动的行为中没有调用相应的布局。我从一开始就在Fragment_main.xml中保存TextView组件。我刚刚在MainActivity.java和it workd中做了上述更改。你能简单解释一下吗?嗨,layout.xml是一个用户前端视图,而活动是一种屏幕行为。因此,我们必须集成xml和活动。因此,必须使用setContentView()方法在相应的活动中调用layout.xml。除非您可能得到空指针异常,否则您在活动的行为中没有调用相应的布局。请在onCreateView中使用此选项,其中您正在膨胀片段视图rootView=inflater.inflate(R.layout.fragment_main,container,false);TextView tv=(TextView)rootView.findviewbyd(R.id.tv);tv.setText(“你好世界”);我将
@Override public void onActivityCreated(Bundle savedInstanceState){super.onActivityCreated(savedInstanceState);myText.setText(“New Te”)标记为注释