toggleButton을 사용하면 코드를 누를 때 코드를 실행해야합니다. 그러나 그것은 전혀 작동하지 않습니다. 토글 버튼이 일반적으로하는 것처럼, 나는 그것을 누르고 그것을 바꿉니다. touchListener 코드를 전혀 호출하지 않습니다. 내 in_call_card.xml에서 나는이 :ontouchListener 코드가 실행되고 있지 않습니까?
<ToggleButton
android:id="@+id/PTT_button5"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:text="@string/ptt5"
android:layout_weight="50"
android:textOn="Push To Talk On"
android:textOff="Push To Talk Off"
android:background="@drawable/btn_lightblue_glossy"
android:textColor="@android:color/white"
android:textSize="15sp"
/>
가에서 onCreate에 내가 in_card_main.xml에의 setContent 한 내가 in_call_card.xml의 버튼을 사용하여 레이아웃을 부풀려해야합니다. 여기에 내 코드이지만, 내가 버튼을 누르면입니다 때 실행되지 않습니다 :
LayoutInflater inflater = getLayoutInflater();
View otherLayout = inflater.inflate(R.layout.in_call_card, null);
final ToggleButton toggle = (ToggleButton) otherLayout.findViewById(R.id.PTT_button5);
toggle.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "woot7", Toast.LENGTH_SHORT).show();
//may need to change to loop and send all ids.
int callId = 0;
for (SipCallSession callInfo : callsInfo) {
callId = callInfo.getCallId();
Log.e(TAG, ""+callInfo.getCallId());
}
final int id= callId;
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
toggle.setBackgroundResource(R.drawable.btn_blue_glossy);
toggle.setChecked(true);
OnDtmf(0, 17, 10);
OnDtmf(0, 16, 9);
OnDtmf(id, 17, 10);
OnDtmf(id, 16, 9);
break;
case MotionEvent.ACTION_UP:
// Toast.makeText(getApplicationContext(), "woot", Toast.LENGTH_LONG).show();
//release
toggle.setBackgroundResource(R.drawable.btn_lightblue_glossy);
toggle.setChecked(false);
OnDtmf(0, 18, 11);
OnDtmf(0, 18, 11);
OnDtmf(id, 18, 11);
OnDtmf(id, 18, 11);
break;
}
return false;
}
});
편집 :
in_call_main :
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2010 Regis Montoya (aka r3gis - www.r3gis.fr)
This file is part of CSipSimple.
CSipSimple is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
If you own a pjsip commercial license you can also redistribute it
and/or modify it under the terms of the GNU Lesser General Public License
as an android library.
CSipSimple is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CSipSimple. If not, see <http://www.gnu.org/licenses/>.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainFrame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ViewStub
android:id="@+id/dropZones"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/in_call_drop_zones" />
<LinearLayout
android:id="@+id/inCallContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="3"
android:orientation="horizontal" >
<!--
Can we do better than using two linear layouts here?
The problem is that RelativeLayout doesn't allow to use weight and
plays bad with hidden childs and above/below only support one id
-->
<!-- Grid for active calls -->
<com.csipsimple.ui.incall.InCallInfoGrid
android:id="@+id/activeCallsGrid"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="2"
android:paddingBottom="4dip"
android:paddingTop="4dip"
tools:ignore="NestedWeights" />
<!-- Grid for held calls -->
<com.csipsimple.ui.incall.InCallInfoGrid
android:id="@+id/heldCallsGrid"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/in_call_held_background"
android:padding="4dip"
android:visibility="gone" />
</LinearLayout>
<!-- Answer slider/buttons -->
<com.csipsimple.ui.incall.locker.InCallAnswerControls
android:id="@+id/inCallAnswerControls"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="2"
android:visibility="gone" />
<!-- Wraps split action bar manually managed -->
<com.csipsimple.ui.incall.InCallControls
android:id="@+id/inCallControls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/incall_bottom_bar_bg" />
</LinearLayout>
<com.csipsimple.ui.incall.locker.ScreenLocker
android:id="@+id/lockerOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#8000"
android:visibility="gone" >
<!--
<TextView android:id="@+id/lockerIcon"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_marginBottom="70dip"
android:text="@string/touch_lock" android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@drawable/dialpad_lock" />
-->
</com.csipsimple.ui.incall.locker.ScreenLocker>
<!-- <ToggleButton
android:id="@+id/PTT_button3"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:text="@string/ptt3"
android:layout_weight="50"
android:textOn="Push To Talk On"
android:textOff="Push To Talk Off"
android:background="@drawable/btn_lightblue_glossy"
android:textColor="@android:color/white"
android:textSize="15sp"
/> -->
</RelativeLayout>
in_call_card :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/call_card_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:padding="2dip"
tools:ignore="Overdraw" >
<com.csipsimple.widgets.MaxScaleImageView
android:id="@+id/contact_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/call_action_bar"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/empty_description"
android:scaleType="centerCrop"
android:src="@drawable/ic_contact_picture_180_holo_light" />
<RelativeLayout
android:id="@+id/contact_name_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#9e808080"
android:gravity="center_vertical" >
<!--
<EditText
android:id="@+id/editText1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
-->
<com.csipsimple.widgets.MarqueeTextView
android:id="@+id/contact_name_display_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:padding="5dip"
android:singleLine="true"
android:textColor="@android:color/white"
android:textSize="25sp" />
<com.csipsimple.widgets.MarqueeTextView
android:id="@+id/contact_name_sip_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/contact_name_display_name"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:padding="2dip"
android:singleLine="true"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Chronometer
android:id="@+id/elapsedTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textSize="20sp" />
</RelativeLayout>
<TextView
android:id="@+id/call_status_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/contact_name_bar"
android:layout_marginTop="1dip"
android:background="#c818617b"
android:gravity="center_vertical|right"
android:padding="3dip"
android:text="@string/call_state_calling"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textSize="15sp" />
<RelativeLayout
android:id="@+id/call_secure_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/call_status_text"
android:layout_marginTop="1dip"
android:background="#c8d4aa00" >
<ImageView
android:id="@+id/call_secure_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="2dip"
android:contentDescription="@string/empty_description"
android:src="@drawable/stat_sys_vp_phone_call" />
<TextView
android:id="@+id/call_secure_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/call_secure_icon"
android:padding="2dip"
android:textColor="@android:color/white"
android:textSize="15sp" />
</RelativeLayout>
<FrameLayout
android:id="@+id/call_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/end_call_bar"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="true"
android:layout_marginTop="2dip"
android:background="#000000" />
<LinearLayout
android:id="@+id/end_call_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginTop="2dip"
android:background="@drawable/end_call_background"
android:orientation="horizontal" >
<!-- android:onClick="pushtotalk3" -->
<ToggleButton
android:id="@+id/PTT_button5"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:text="@string/ptt5"
android:layout_weight="50"
android:textOn="Push To Talk On"
android:textOff="Push To Talk Off"
android:background="@drawable/btn_lightblue_glossy"
android:textColor="@android:color/white"
android:textSize="15sp"
/>
<ImageButton
android:id="@+id/endButton"
style="?attr/actionButtonStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="50"
android:contentDescription="@string/done"
android:minHeight="64dip"
android:src="@drawable/ic_end_call" />
</LinearLayout>
</RelativeLayout>
청취자를 호출하지 않는다는 것을 어떻게 알 수 있습니까? – Simon
Logcat? 앱 FC 또는 오류가 있습니까? 로그 또는 토스트가 기능에 도달했는지 확인하려고 했습니까? – Si8
@Simon은 기록되지 않으며, 토스트 등은 없습니다. – Paul