Я пытался создать диалог, используя xml, но я пробовал это много раз, и он вызовет sh. Я не знаю, где проблема. Я уверен, что startConnect()
и sendBtn()
могут быть использованы. Как я могу создать один диалог xml? Потому что я окончательно разберусь с интерфейсом.
Это код ошибки
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.smart.v9, PID: 11678
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.smart.v9.TcpClientActivity.tv(TcpClientActivity.java:423)
at com.smart.v9.TcpClientActivity.onClick(TcpClientActivity.java:267)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
TcpClientActivity. java tv ():
private void tv(){
final AlertDialog.Builder tvalert = new AlertDialog.Builder(this);
LayoutInflater inflater = getLayoutInflater();
final View tvview = inflater.inflate(R.layout.dialog_tv, null);
mBtn15.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//startConnect();
//sendBtn(15);
}
});
mBtn16.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(16);
}
});
mBtn17.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(17);
}
});
mBtn18.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(18);
}
});
mBtn19.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(19);
}
});
mBtn20.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(20);
}
});
mBtn21.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(21);
}
});
mBtn22.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(22);
}
});
mBtn23.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(23);
}
});
mBtn24.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(24);
}
});
mBtn25.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(25);
}
});
mBtn26.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(26);
}
});
mBtn27.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(27);
}
});
mBtn28.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(28);
}
});
mBtn29.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(29);
}
});
mBtn30.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(30);
}
});
mBtn31.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(31);
}
});
mBtn32.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(32);
}
});
mBtn33.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(33);
}
});
mBtn34.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startConnect();
sendBtn(34);
}
});
tvalert.setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
tvalert.setView(tvview);
tvalert.show();
}
dialog_tv. xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/tv_lin"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button15"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="on/off" />
<Button
android:id="@+id/button16"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="靜音" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button17"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="退出" />
<Button
android:id="@+id/button18"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button19"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-" />
<Button
android:id="@+id/button20"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="快進" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button21"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="後退" />
<Button
android:id="@+id/button22"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="↑" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button23"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="←" />
<Button
android:id="@+id/button24"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="↓" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="→" />
<Button
android:id="@+id/button26"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="enter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button27"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="setting" />
<Button
android:id="@+id/button28"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="暫停" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button29"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="下一項" />
<Button
android:id="@+id/button30"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="上一項" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button31"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="電視" />
<Button
android:id="@+id/button32"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="花園" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button33"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="大門" />
<Button
android:id="@+id/button34"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="室內" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>