如何在内部类中引用父类的成员

jack_wang0823 2014-01-11 06:48:22
本人新手 刚刚开始学 请多多指教
按照教材写代码碰到诸多问题.. 说起来都是泪....

首先贴代码

package com.xynet.test1;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import android.content.*;

public class MainActivity extends Activity {
private Button login_btn=null;
private EditText number1; //这里定义成员变量
private EditText number2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

EditText number1=(EditText) findViewById(R.id.number_1);
EditText number2=(EditText) findViewById(R.id.number_2);

Button login_btn = (Button)findViewById(R.id.login_btn);
login_btn.setText(R.string.login_btn_wait);
//login_btn.setOnClickListener(new login_btnlistenger());
login_btn.setOnClickListener(new login_btnlistenger());
}

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

class login_btnlistenger implements OnClickListener{
@Override
public void onClick(View v) {

// TODO Auto-generated method stub
MainActivity.this.number1.setText("3"); //在这里引用失败 一执行到这里便 //强制退出, 这句是调试用的 实际要在下面两句 获取这两个控件的值, 都是按教材上写的..
//String numberone = number1.getText().toString();
//String numbertwo = number2.getText().toString();

Intent intent = new Intent();
//intent.putExtra("tips_one", number_one);
//intent.putExtra("tips_two", number_two);

intent.setClass(MainActivity.this,OtherActivity.class);
MainActivity.this.startActivity(intent);
}

}
}



编译没问题 可以通过, 一执行就强制退出了. 屏蔽掉相关语句可以继续执行
关于内部类中引用主类(父类)中成员是要注意那些呢
...全文
299 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
triplesky001 2014-01-14
  • 打赏
  • 举报
回复
。。。number1到底是局部的还是全局的,这都过去了
jack_wang0823 2014-01-11
  • 打赏
  • 举报
回复
问题解决, 来人散分
jack_wang0823 2014-01-11
  • 打赏
  • 举报
回复
终于知道在哪里看LOG 了 系统的出错提示是 java.lang.NullPointerException 第43行
jack_wang0823 2014-01-11
  • 打赏
  • 举报
回复
主要问题是 在主类 MainActivity 定义两个 成员 private EditText number1; private EditText number2; 取得两个对象分别是屏幕上的2个EditText 内部类是个监听器, 在点击按钮时 取得2个EditText的内容 去处理 现在的代码, 执行到 String numberone = number1.getText().toString(); 就出错了, 不知道哪里看提示 logcat 一片空白 程序轻质退出了

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧