1

Я создаю BaseActivity для того же макета для всех видов деятельности и скользящего меню в своем приложении, у меня есть кнопка в макете основной активности, и моя проблема заключается в том, что когда я нажимаю кнопку, ничего не происходит, и это сообщение, показанное на журнал:android: событие нажатия кнопки на базовую активность

D/VelocityTracker﹕ Couldn't open '/dev/touch' (Permission denied) 
D/VelocityTracker﹕ tpd read x fail: Bad file number 
D/VelocityTracker﹕ tpd read y fail: Bad file number 
D/VelocityTracker﹕ Couldn't open '/dev/touch' (Permission denied) 
D/VelocityTracker﹕ tpd read x fail: Bad file number 
D/VelocityTracker﹕ tpd read y fail: Bad file number 
I/View﹕ Touch down dispatch to android.widget.Button{424d3700 VFED..C. ........ 27,27-70,70 #7f070052 app:id/button_menu}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=27.332088, y[0]=3.7002335, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=182860652, downTime=182860652, deviceId=2, source=0x1002 } 
I/View﹕ Touch up dispatch to android.widget.Button{424d3700 VFED..C. ...p.... 27,27-70,70 #7f070052 app:id/button_menu}, event = MotionEvent { action=ACTION_UP, id[0]=0, x[0]=24.136082, y[0]=3.7002335, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=182860725, downTime=182860652, deviceId=2, source=0x1002 } 

это моя основа деятельности макет:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<!-- The main content view --> 
<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <!-- Put what you want as your normal screen in here, you can also choose for a linear layout or any other layout, whatever you prefer --> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#FFFFFF" 
     android:id="@+id/sub_layout" 
     > 
     <Button 
      android:id="@+id/button_menu" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/menu" 
      android:text="Ok" /> 

    </RelativeLayout> 
</FrameLayout> 
<!-- The navigation drawer --> 
<RelativeLayout 
    android:id="@+id/left_drawer" 
    android:layout_width="250dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="0dp"> 
</RelativeLayout> 

и это мой базовый код деятельности:

общественного класса BaseActivity расширяет активность {

protected FrameLayout frameLayout; 

protected RelativeLayout mDrawerList; 


protected static int position; 

private static boolean isLaunch = true; 

protected DrawerLayout mDrawerLayout; 

private ActionBarDrawerToggle actionBarDrawerToggle; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_base); 

    frameLayout = (FrameLayout) findViewById(R.id.content_frame); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (RelativeLayout) findViewById(R.id.left_drawer); 



    Button btn_menu = (Button) findViewById(R.id.button_menu); 
    btn_menu.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mDrawerLayout.openDrawer(mDrawerList); 
      Log.d("Menu is open","???"); 
     } 
    }); 


} 

не понимаю, от того, что является проблемой. Может ли мне помочь любой орган? благодаря

ответ

1

Там проблема в вашем XML .. Вы закрытие RelativeLayout, что не существует ..

<FrameLayout> 
--- <RelativeLayout> 
-------- <Button></Button> 
--- </RelativeLayout> 
--- </RelativeLayout> *THIS* 
</FrameLayout> 
+0

нет, это не из-за того, это ошибка произошла при копировании прошлого, я отредактировал код. – mahdi

+1

@mahdi Просто попробовал ваш макет и код, и все работает нормально. – Lucas

+0

Вы видели мой журнал? Когда я нажимаю кнопку, эти сообщения отображаются в лог-кате. – mahdi

1

Существуют некоторая ошибка для ListView по щелчку в относительном макете, вы должны добавить не атрибут называется андроид: descendantFocusability = «blocksDescendants» решить ..

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:descendantFocusability="blocksDescendants"> 
.......... 
</RelativeLayout> 

Надеется, что это помогает ..

Смежные вопросы