Eclipse IDE에서 Android 앱 개발에 처음입니다.Android : ImageView에서 이미지를 변경하면 편집 문구가 사라졌습니다.
버튼을 클릭하면 ImageText의 이미지와 EditText의 텍스트가 각각 다른 이미지와 텍스트로 대체되는 기본 앱을 만들려고합니다.
그러나 주로 앱이 시작되면 상단에 버튼이 표시되고 ImageView와 EditText가 제대로 작동하지만 버튼을 클릭하면 내 EditText가 사라지는 동안 이미지 만 성공적으로 바뀝니다. . 왜 이런 일이 일어 났는지, 어떻게 바로 잡을 수 있는지 나 좀 도와 주실 수 있습니까?
XML 파일 :
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/click_it" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:src="@drawable/prac" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/imageView1"
android:layout_below="@+id/imageView1"
android:layout_marginTop="30dp"
android:ems="10"
android:text="hello!" >
<requestFocus />
</EditText>
</RelativeLayout>
자바 파일 :
package com.example.practicetwo;
import android.os.Bundle;
import android.app.Activity;
import android.view.*;
import android.widget.*;
public class MainActivity extends Activity {
Button b1;
ImageView iv1;
EditText et1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(new R.id().button1);
iv1 = (ImageView)findViewById(new R.id().imageView1);
et1 = (EditText)findViewById(new R.id().editText1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
iv1.setImageResource(R.drawable.prac1);
et1.setText("how r u?");
}
});
}
@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;
}
}
새로운 findViewById (R.id(). editText1) – TMichel
과 같이 정적 인 방법으로 액세스를 시도해보십시오. 이미지 prac1이 화면 크기보다 클 수 있으며 prac prac1을 사용하면 'EditText'가 푸시 다운됩니다. 상대 레이아웃 대신 '선형 레이아웃'을 사용해보십시오. 쓰기시 – Naveen
, et1 = (EditText) findViewById (R.id(). editText1); 그것은 오류를 보여줍니다. –