Java 从MainActivity访问TextView
因此,我通过执行文件->新建->项目->导航抽屉活动,使用Android Studio 2.1.2创建了一个Java 从MainActivity访问TextView,java,android,android-5.0-lollipop,Java,Android,Android 5.0 Lollipop,因此,我通过执行文件->新建->项目->导航抽屉活动,使用Android Studio 2.1.2创建了一个导航抽屉活动。我有4个布局文件 nav_header_main.xml content_main.xml app_bar_main.xml activity_main.xml content.main.xml有一个id为helloTextView的TextView(我已经手动设置了它)。 在main活动上,有一个方法处理导航项选择事件。现在我的目标是更改content.main.xml文本
导航抽屉活动。我有4个布局文件
nav_header_main.xml
content_main.xml
app_bar_main.xml
activity_main.xml
content.main.xml
有一个id为helloTextView
的TextView
(我已经手动设置了它)。
在main活动
上,有一个方法处理导航项选择事件。现在我的目标是更改content.main.xml
文本视图的文本,并将文本设置为用户选择的内容。请注意以下代码块上的注释--
我怎样才能建立这个呢?((TextView)findViewById(R.id.helloTextView)).setText(“您选择了照相机!”)代码>应该可以工作
通常,您会声明一个变量,例如:TextView myTextView
作为类范围的变量,然后在onCreate()
或onCreateView()
中:
myTextView=(TextView)findViewById(R.id.helloTextView)代码>(与您使用抽屉布局所做的操作类似)
然后,你可以把:
myTextView.setText(“您选择了照相机!”)代码>
然后在活动中的任何其他地方
都可以使用myTextView
,而不必每次都使用findViewById()
但就目前而言,此答案顶部的代码行将适用于您。:) ((TextView)findViewById(R.id.helloTextview)).setText(“您选择了摄像头!”)
?这里到底是什么问题?只要按常规方式执行^@sonictt1即可!我是个新手。请把它作为答案贴出来。非常感谢
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
// Handle the camera action
// I want to change the content of helloTextView here
// I.E setText("You Selected Camera!")
} else if (id == R.id.nav_gallery) {
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.nav_manage) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}