Android Can';找不到findViewById函数
我是一个使用EclipseIDE和Android SDK的Android新手。无论如何,我看了一些教程,似乎无法调用findviewbyd()函数 如果您能指导我如何使用它,如果它是一个静态类的方法或其他东西,我将不胜感激 谢谢,我相信这对更高级的用户来说不会是个问题Android Can';找不到findViewById函数,android,eclipse,findviewbyid,Android,Eclipse,Findviewbyid,我是一个使用EclipseIDE和Android SDK的Android新手。无论如何,我看了一些教程,似乎无法调用findviewbyd()函数 如果您能指导我如何使用它,如果它是一个静态类的方法或其他东西,我将不胜感激 谢谢,我相信这对更高级的用户来说不会是个问题 嗯,作为对评论的回应,我正试图在活动中使用它。 下面是代码: package tk.quiero.test1; import android.support.v7.app.ActionBarActivity; import a
嗯,作为对评论的回应,我正试图在活动中使用它。 下面是代码:
package tk.quiero.test1;
import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
我到底应该在哪里使用它?
感谢
findViewById
是在Activity类中定义的,因此听起来您试图从Activity外部调用它。如果是这样的话,您应该发布您正试图做的事情,因为有很多方法可以做到这一点,但也很可能有比在活动之外解析UI元素更干净或更简单的方法
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View view = findViewById(R.id.xxxxx)
}
将xxxxx替换为您在xml中定义的id…看起来应该像@+id/xxxxx您可以将代码粘贴到您尝试使用findViewbyId的位置吗?您是否在活动或片段中使用此功能?您是否尝试阅读android文档?我粘贴了代码,我将查看该链接:)@user3750762您应该在哪里使用它完全取决于您想做什么。我能想到的唯一限制是,在调用
setContentView()
之后必须调用它。除此之外,只要在代码中的任何一点调用findViewById(你想要的东西的R.id.id)
就可以了。内森,你能给我一个简单的例子吗?抱歉打扰您。值得注意的是,它也在视图中定义。findViewById不是来自活动,而是来自视图。@user3586222它在活动和视图中都定义,并且最常被新的Android开发人员在活动中使用(在视图中,它主要用于复杂容器/复合视图…发布Android全新版本的人很可能不会这样做)。这里有一个到Activity.findViewById的链接,表示我对您的否决票的感谢:是正确的,活动可以使用findviewbyd()因为它基本上是一个视图。@user3586222不,这是明显错误的。Activity
没有以任何方式扩展View
。Activity
可以包含视图,但它本身肯定不是视图。我尝试过,但它没有将视图识别为类:(我的IDE是Eclipse,很抱歉,我现在不能给你。我不在家。我会尽快给你:)