java - 声明 editText java 时未使用局部变量

标签 java android eclipse android-edittext

您好,我无法确定我的代码的问题。它编译得很好,但是当在我的应用程序中启动和访问时,应用程序崩溃了。当我编辑 editText 代码行时,应用程序运行完全正常。错误是 get 是从未使用过局部变量。我已经做了并尽我所能地查看有关我的问题的类似主题,但没有找到任何可以帮助的内容。这是我正在处理的以下代码:

public class AddNewTask extends Activity implements OnClickListener {

EditText name, date;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add_tasks);

    // set up click listeners for all the buttons
    View new_task_priority_button = 
                findViewById(R.id.new_task_priority_button);
    new_task_priority_button.setOnClickListener(this);

    View addTask_button = findViewById(R.id.addTask_button);
    addTask_button.setOnClickListener(this);

    View cancel_button = findViewById(R.id.cancel_button);
    cancel_button.setOnClickListener(this);

    View View_button = findViewById(R.id.View_button);
    View_button.setOnClickListener(this);

    final EditText name = (EditText)findViewById(R.id.task_name);
    final EditText date = (EditText)findViewById(R.id.date); 
}

public void onClick(View arg0){

    switch (arg0.getId()){
    case R.id.new_task_priority_button:
        OpenPriorityDialog();
        break;          
    case R.id.View_button:
        break;      
    case R.id.addTask_button:
        break;          
    case R.id.cancel_button:
        break;
    }
}

这些行导致我的程序在从主菜单访问时崩溃,sqlName 和 sqlDate 出现一条错误消息,指出本地变量从未使用过,但我已在上面声明了它们。

   final EditText name = (EditText)findViewById(R.id.task_name);
   final EditText date = (EditText)findViewById(R.id.date); 

如果有人可以帮助我或为我指出正确的方向,我将非常感激

最佳答案

问题是您在两个位置声明了变量。试试这个:

final EditText name, date;

@Override
public void onCreate(Bundle savedInstanceState){
       //Keep same stuff here

      name = (EditText)findViewById(R.id.task_name);
      date = (EditText)findViewById(R.id.date);
}

这会起作用,因为允许设置一次最终变量,并且 onCreate() 只被调用一次。还有其他解决方案,但本质上您是在本地声明一个变量,而该变量已经在类范围内声明了。因此它忽略了类的声明,只是创建了自己的局部变量。

关于java - 声明 editText java 时未使用局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9982644/

相关文章:

java - Linux 中的字体比 Windows 中的字体大

java - 如何将循环链表排入队列,同时确保最后一个元素指向第一个元素?

java - selectOneMenu 上的 required 是否只接受 true?

java - 如何用java显示sql server中的数据 [android studio]

java - Eclipse 无法识别消息包 (f :loadBundle error)

eclipse - 如何永久禁用所有 Eclipse 验证?

java - Java 中的 Arduino Map 等效函数

java - 嵌套viewpagers : letting the outer swipe but not the inner

android - 如何隐藏应用程序不显示在菜单中

android - Eclipse 安卓错误