2013-03-01 116 views
0

我試圖創建按鈕,點擊它們後會切換到不同的佈局/活動。任何人都可以協助單擊按鈕後如何切換活動/佈局?

package com.example.darsh.popup; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.View.OnTouchListener; 
import android.view.WindowManager; 
import android.widget.PopupWindow; 
import android.widget.Toast; 

public class Main extends Activity { 

private LayoutInflater inflater; 
private PopupWindow pw; 
private View popupView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
popupView = inflater.inflate(R.layout.menu_layout, null, false); 
} 

public void showPopup(View view) { 
pw = new PopupWindow(getApplicationContext()); 
pw.setTouchable(true); 
pw.setFocusable(true); 
pw.setOutsideTouchable(true); 
pw.setTouchInterceptor(new OnTouchListener() { 
    public boolean onTouch(View v, MotionEvent event) { 
     if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { 
      pw.dismiss(); 

      return true; 
     } 

     return false; 
    } 
}); 

pw.setWidth(WindowManager.LayoutParams.WRAP_CONTENT); 
pw.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); 
pw.setOutsideTouchable(false); 
pw.setContentView(popupView); 
pw.showAsDropDown(view, 0, 0); 

} 

public void clickOne(View view) { 
pw.dismiss(); 
Toast.makeText(getBaseContext(), "Link New User", Toast.LENGTH_SHORT) 
     .show(); 

} 

public void clickTwo(View view) { 

pw.dismiss(); 
Toast.makeText(getBaseContext(), "Edit Core Device 1", Toast.LENGTH_SHORT) 
     .show(); 
} 

public void clickThree(View view) { 
pw.dismiss(); 
Toast.makeText(getBaseContext(), "Delete Core Device 1", Toast.LENGTH_SHORT) 
     .show(); 
} 

所有我需要做的是切換到LinkMenu.Java/linkmenu.xml用戶點擊「鏈接新用戶」「編輯核心設備1」,或後「刪除核心設備1」但我沒有了解要添加到當前源代碼中的內容。

回答

2

使用意圖切換到不同的活動。

Intent intent = new Intent(Context, YourClass.class); 
startActivity(intent); 
+0

我照建議... 公共無效clickOne(查看視圖){ \t \t pw.dismiss(); \t \t Toast.makeText(getBaseContext(), 「鏈接新用戶」,Toast.LENGTH_SHORT) \t \t \t \t .show(); \t \t Intent intent = new Intent(getApplicationContext(),LinkMenu.class); \t \t startActivity(intent); \t} 但應用程序只是崩潰。 – 2013-03-01 18:11:28

+0

你有SecondActivity嗎? – 2013-03-01 18:12:29

+1

@AmaniSwann您是否在'manifest'文件中添加了'LinkMenu'活動? – 2013-03-01 18:13:32

0

喜試試下面的代碼:

Button button = (Button) findViewById(R.id.button1); 
    button.setOnClickListener(){  
    public void onCLick(View v){ 
     Intent i =new Intent(YouCurrentClass.this, NameOfsecondactivity.class); 
     startActivity(i); 
     } 
    }; 
1

activity_main.xml中:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="sendMessage" 
    android:text="@string/button_send" /> 

MainActivity.java

/** Called when the user clicks the Send button */ 
public void sendMessage(View view) { 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    EditText editText = (EditText) findViewById(R.id.edit_message); 
    String message = editText.getText().toString() 
    intent.putExtra(EXTRA_MESSAGE, message); 
    startActivity(intent); 
} 

按鈕後是clicke sendMessage(View view)函數被調用。該函數獲取文本字段值並將其「映射」到共享內存中。該函數的最後一行創建並啓動新的活動,舊的不再可見。

相關問題