找不到findViewById函数

时间:2014-08-09 22:19:00

标签: android eclipse findviewbyid

我是使用Eclipse IDE和Android SDK的Android新手。无论如何,我已经看了几个教程,我似乎无法调用findViewById()函数。

如果您能指导我如何使用它,如果它是静态类或其他方法,我将不胜感激。

谢谢,我相信对于更高级的用户来说这不会有问题!


响应我正在尝试在Activity中使用它的评论。 这是代码:

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);
}
}

应该在哪里使用它? 感谢

2 个答案:

答案 0 :(得分:1)

findViewById在Activity类中定义,所以听起来你试图从Activity外面调用它。如果是这样,你应该发布你正在尝试做的事情,因为有很多方法可以做到这一点,但是很有可能比在活动之外解析UI元素更简洁或更简单

答案 1 :(得分:0)

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