【发布时间】:2023-03-17 08:51:01
【问题描述】:
我已经尝试解决它几个小时,但无法解决。发生的事情是我设置了这个editText,称为活动上的布局,并将其连接到活动上的我的变量,当您单击该字段时,它会打开可视键盘,但是当您按下一个键时,它会带您到类似浏览器的搜索屏幕,而不仅仅是更新edittext的文本。
在我的 xml 中,editText 是:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background = "@drawable/splash"
android:orientation = "vertical">
<EditText
android:id="@+id/searchEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="@color/hintGray"
android:textSize="20dp"
android:paddingLeft="50dp"
android:paddingRight="10dp"
android:layout_marginTop="300dp"
android:background="@drawable/a01_text_box"
android:hint="Hint"
android:layout_gravity="center_horizontal" />
<ImageButton
android:id="@+id/searchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/a01_boton_buscar"
android:layout_gravity="center_horizontal" />
</LinearLayout>
关于我这样做的活动
public class SubscribeActivity {
private EditText searchEdit;
private ImageButton searchButton;
private Context context;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subscribe_main);
this.context = this;
findAndInitViews();
}
protected void findAndInitViews() {
searchEdit = (EditText) findViewById(R.id.searchEdit);
searchButton = (ImageButton) findViewById(R.id.searchButton);
searchButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String codeText = searchEdit.getText().toString();
Toast.makeText(context, codeText, Toast.LENGTH_LONG).show();
}
});
}
}
我仍然找不到不让它发生的方法。你能帮帮我吗?
【问题讨论】:
-
你在尝试
findViewById(id)之前有没有打电话给setContentView(R.layout.yourLayoutFromEditText) -
是的,在那里更新了所有代码
-
@ArielCapozzoli 看来你没有扩展Activity类,你正在尝试使用Activity的onCreate()方法。
-
实际上它确实从扩展 Activity 类的主要活动扩展而来,但我不确定我是否可以发布该信息,所以我在发布前删除了扩展