다음 사용자 정의 환경 설정 화면이 생성되었습니다. 클릭 가능한 버튼이있는 사용자 정의 환경 설정 화면
Button1과 Button2에 Listener를 추가하려고합니다. 어떻게해야합니까?
위의 환경 설정 화면을 만들 때 다음 코드를 사용하고 있습니다.
DemoPref :
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class DemoPref extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startActivity(new Intent(this, MyPref.class));
}
}
MyPref :
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MyPref extends PreferenceActivity{
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//setContentView(R.layout.tftp_setting);
this.addPreferencesFromResource(R.xml.list_pref);
/*Button b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Log.i("MyPref", "Button1 one is clicked.");
}
});
Button b2 = (Button)findViewById(R.id.button2);
b2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Log.i("MyPref", "Button2 one is clicked.");
}
});*/
}
}
고해상도 \ 레이아웃 \의 setting.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView android:text="TextView1" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:text="EditText2" android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
</LinearLayout>
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView android:text="TextView2" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:text="EditText2" android:id="@+id/editText2" android:layout_height="wrap_content" android:layout_width="wrap_content"></EditText>
</LinearLayout>
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal">
<Button android:text="Button1" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<Button android:text="Button2" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
고해상도 \ XML \ pref.xml :
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen android:title="My Setting" android:layout="@layout/setting" android:summary="This is my setting."></PreferenceScreen>
</PreferenceScreen>
나는 이미 시도했지만 널 포인터 예외를 던지고있다. 그 때문에 설정 한 콘텐츠 뷰를 추가했지만 예외도 던지고 있습니다 – Vivek
@Override는 컴파일러 힌트 일 뿐이며 컴파일 된 코드에는 영향을주지 않습니다 – dkneller