이 프로그램에서 나는 sliding menu library을 구현했습니다. 지금 내가 겪고있는 문제는 이러한 메뉴에 대한 클릭 클릭 리스너를 설정하는 것입니다.클릭 리스너에서 슬라이딩 메뉴 설정
라이브러리는 메뉴가 다른 레이아웃이거나 적어도 내가 구현 한 방식이어야합니다. 지금 달성하고 싶은 것은 이러한 메뉴 옵션에 다양한 onClick 리스너를 구현하는 것입니다.
프로그램은 다음과 같다 (그것의 짧은 부분)
menu.xml
<RelativeLayout android:id="@+id/ask_a_question"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="5dp"
android:onClick="getQuestion">
<TextView android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ask_a_question"
android:textColor="#ffffff"
android:layout_marginLeft="15dp"
android:layout_centerVertical="true"/>
<ImageView android:layout_alignParentRight="true"
android:contentDescription="@string/ask_a_question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/question"
android:layout_marginRight="15dp"/>
</RelativeLayout>
및 MainActivity.java에 프로그램은 다음과 같다 :
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setBehindContentView(R.layout.menu);
getSlidingMenu().setBehindOffset(100);
ask_a_question = (RelativeLayout)findViewById(R.id.ask_a_question);
ask_a_question.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
getQuestion();
}
});
login = (Button)findViewById(R.id.log_in_button);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.example.btshome.LOGINACTIVITY"));
}
});
}
public Intent getQuestion()
{
Intent i = new Intent("com.example.btshome.ASKPAGE");
startActivity(i);
return null;
}
다음 오류를 반환하는 :
,21004-23 19:43:30.030: E/AndroidRuntime(845): FATAL EXCEPTION: main
04-23 19:43:30.030: E/AndroidRuntime(845): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.btshome.ASKPAGE }
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Activity.startActivityForResult(Activity.java:3351)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Activity.startActivityForResult(Activity.java:3312)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Activity.startActivity(Activity.java:3522)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.Activity.startActivity(Activity.java:3490)
04-23 19:43:30.030: E/AndroidRuntime(845): at com.example.btshome.MainActivity.getQuestion(MainActivity.java:47)
04-23 19:43:30.030: E/AndroidRuntime(845): at com.example.btshome.MainActivity$1.onClick(MainActivity.java:30)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.view.View.performClick(View.java:4084)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.view.View$PerformClick.run(View.java:16966)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.os.Handler.handleCallback(Handler.java:615)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.os.Handler.dispatchMessage(Handler.java:92)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.os.Looper.loop(Looper.java:137)
04-23 19:43:30.030: E/AndroidRuntime(845): at android.app.ActivityThread.main(ActivityThread.java:4745)
04-23 19:43:30.030: E/AndroidRuntime(845): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 19:43:30.030: E/AndroidRuntime(845): at java.lang.reflect.Method.invoke(Method.java:511)
04-23 19:43:30.030: E/AndroidRuntime(845): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-23 19:43:30.030: E/AndroidRuntime(845): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
04-23 19:43:30.030: E/AndroidRuntime(845): at dalvik.system.NativeStart.main(Native Method)
매니페스트 페이지 :
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.btshome.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LoginActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.example.btshome.LOGINACTIVITY"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".SignUp"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.example.btshome.SIGNUP"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".LoginPage"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.example.btshome.LOGINPAGE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name=".QuestionAsking"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.btshome.ASKPAGE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
내가 클릭 좋은에서이 메뉴 항목을 구현하기 위해 복용 방법인가? 또는 내 모든 페이지에서 슬라이딩 메뉴를 사용할 수 있어야하기 때문에 나쁜 방법입니다. 도와주세요.
지금 작업을 수행해야합니까? 아니면'Activity' 만 열면 충분할까요? –