1
UPDATE帮助与Android的自定义组件的调试错误的EditText
使得内部类“静态”固定它
请帮我找出错误是在下面的情况是什么。我在一个实现OnKeyListener的活动中有一个自定义EditText。它是作为活动的内部类实现的
我重写原始TickerEditText为父EditText的原因是因为将来我可能会修改EditText,并且还希望将OnKeyListener始终附加到它。
我不想在Activity的onCreate()中做到这一点。
代码编译正常,但我遇到运行时错误,当应用程序启动并膨胀视图。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<view
class="com.example.android.ticker.TickerActivity$TickerEditText"
android:id="@+id/tickerText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Something !!"
/>
<com.example.android.ticker.customListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tickerListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/customListView"
android:scrollbars="vertical"
android:listSelector="@drawable/list_selector"
/>
</LinearLayout>
用法 公共类TickerActivity延伸活动{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ticker);
/** Get Reference to UI objects */
mTickerListView = (TickerListView)findViewById(R.id.tickerListView);
mTickerEditText = (EditText)findViewById(R.id.tickerText);
...
}
...
...
...
...
public class TickerEditText extends EditText implements OnKeyListener {
public TickerEditText(Context context) {
super(context);
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN)
if(keyCode == KeyEvent.KEYCODE_ENTER) {
//something
return true;
}
return false;
}
预先感谢
即使使它静态固定它,你应该真的将该类移动到它自己的java文件。 – dmon
@dmon - Yeap你是对的,我正要这样做,只是想知道是否可以像内部班级那样好,并且因为它不起作用,所以就深究其中的原因。谢谢。 – devgp