私は方法findViewById()
に問題があるが、それは常にnullを返し、私はsetContentView(R.layout.activity_main)
アンドロイド、NullPointerExceptionが
後に、このメソッドを使用する必要があることを知っているが、どのように私は私のカスタムボタンでそれを使用することができますこれはXMLで作成されたものですか?
私の悪い英語のために申し訳ありません、これはスタック上の私の最初の質問です、アーメン。 (以下のコードサンプル)
<TextView
android:id="@+id/textBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<isen.mytestapl.MyButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myBtn"
android:layout_alignTop="@id/textBtn"
android:layout_margin="@dimen/activity_vertical_margin"/>
MyButtonというクラス:
public class MyButton extends Button implements View.OnClickListener{
TextView textView;
public MyButton(Context context) {
super(context);
init();
}
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public void init(){
setOnClickListener(this);
}
@Override
public void onClick(View view) {
try
{
textView = (TextView) findViewById(R.id.textBtn);
textView.setText("It Works!");
}
catch (NullPointerException ex){
Log.d("MyLog","NullPointer");
}
}
}
コンポーネントの外にあるビューは見つかりません。 –
このビューを取得するためにPUBLIC STATICを使用する方法はありませんか? – Isen
アクティビティクラスでカスタムボタンのクリックを処理しない理由は何ですか? – user6650650