2012-04-03 4 views
0

레이아웃을 표시하는 데 어려움이 있습니다. 다음은 나의 의도입니다. 1. 사용자 클릭 버튼 2. 메시지가 나타나고 사용자가 예 또는 아니요를 선택합니다. 3. 예를 클릭하면 "dialpad"라는 레이아웃이 표시됩니다.버튼을 클릭 한 후 레이아웃을 호출하려면 어떻게해야합니까?

"예"를 클릭하면 "불행히도 중지되었습니다."라고 표시됩니다. 누구든지 나를 도울 수 있습니까?

ViewStub stub = (ViewStub)findViewById(R.id.dialpad); 
stub.setVisibility(View.VISIBLE); 

나는이 줄에 문제가있다 알고 ...

는 당신의 도움을 주셔서 감사합니다! 여기

코드입니다 :

package com.example; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewStub; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ExampleGUIDialogActivity extends Activity { final Context context = this; private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.buttonAlert); // add button listener button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( context); // set title alertDialogBuilder.setTitle("Your Title"); // set dialog message alertDialogBuilder .setMessage("Click yes to exit!") .setCancelable(false) .setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, close // current activity // launch dialer ViewStub stub = (ViewStub)findViewById(R.id.dialpad); stub.setVisibility(View.VISIBLE); //stub.inflate(); //View mDialerView = (View)findViewById(R.id.dtmf_twelve_key_dialer_view); //mDialerView.bringToFront(); ExampleGUIDialogActivity.this.finish(); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, just close // the dialog box and do nothing dialog.cancel(); } }); // create alert dialog AlertDialog alertDialog = alertDialogBuilder.create(); // show it alertDialog.show(); } }); } }

+0

일부 코드를 게시 할 수 있습니까? 특별히 오류가 무엇입니까? – Davek804

+0

코드를 보지 않고 당신을 도울 수 없습니다. 그렇게 생각하지 않아? –

+0

이 줄을 제거하십시오. ExampleGUIDialogActivity.this.finish(); –

답변

0

이이

ViewStub stub = (ViewStub)findViewById(R.id.dialpad); 
if (stub != null){ 
    stub.setVisibility(View.VISIBLE); 
} 

당신은 어떤 로그 캣 정보를 제공 할 수보십시오 ???

+0

http://pastebin.com/C00YmgyX – user1296153

0

글쎄, 한 가지 문제는 ViewStub을 부 풀린 다음 즉시 모든 활동을 종료한다는 점입니다. 이는 모든 종류의 문제를 일으킬 것입니다. 그 중 첫 번째로, 사용자는 새로운 레이아웃을 보지 못할 것입니다!

콘텐츠보기에 팽창하려는 레이아웃이있는 새로운 Activity을 실행하고 사용자가이 레이아웃을 기반으로 어떤 작업을 수행 할 수 있다고 생각하거나 dialog.dismiss() 대신에?

+0

ExampleGuiDialogActivity.this.finish()를 제거하고 setVisibility 주위에서 try catch를 시도했지만 응용 프로그램이 충돌하지 않았지만 레이아웃을 표시하지 않았습니다. – user1296153

관련 문제