我正在为我的学校项目创建一个Android应用程序。
我正常地创建了界面。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:background="@drawable/mappic"
android:layout_above="@+id/zoomControls"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ZoomControls
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/zoomControls"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Obtenir le PCC"
android:id="@+id/button"
android:layout_alignBottom="@+id/zoomControls"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
现在我想点击按钮时:Obtenir le PCC此对话框打开:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:backgroundTintMode="multiply"
android:backgroundTint="#ff7518ff">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/Suivantbtn"
android:layout_alignLeft="@+id/Suivantbtn"
android:layout_alignStart="@+id/Suivantbtn" />
<TextView
android:id="@+id/textdp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Taper le poit de départ:"
android:textColor="#ff111124"
android:layout_alignBottom="@+id/Suivantbtn"
android:theme="@style/AppTheme"
android:textSize="30dp"
android:layout_below="@+id/image"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="28dp"
android:layout_marginLeft="28dp" />/>
<Button
android:id="@+id/Suivantbtn"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="Suivant "
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_above="@+id/Suivantbtn"
android:layout_marginBottom="56dp"
android:layout_alignLeft="@+id/textdp"
android:layout_alignStart="@+id/textdp"
android:layout_alignRight="@+id/textdp"
android:layout_alignEnd="@+id/textdp"
android:textAlignment="center"
android:backgroundTint="#ff9eadff" />
</RelativeLayout>
当我点击Suivant时,对话框会出现,并出现另一个对话框:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:backgroundTintMode="multiply"
android:backgroundTint="#ff7518ff">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/Suivantbtn2"
android:layout_alignLeft="@+id/Suivantbtn2"
android:layout_alignStart="@+id/Suivantbtn2" />
<TextView
android:id="@+id/textar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Taper le poit d'arrivée:"
android:textColor="#ff111124"
android:layout_alignBottom="@+id/Suivantbtn2"
android:theme="@style/AppTheme"
android:textSize="30dp"
android:layout_below="@+id/image"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="28dp"
android:layout_marginLeft="28dp" />/>
<Button
android:id="@+id/Suivantbtn2"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="Suivant "
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_above="@+id/Suivantbtn2"
android:layout_marginBottom="56dp"
android:layout_alignLeft="@+id/textar"
android:layout_alignStart="@+id/textar"
android:layout_alignRight="@+id/textar"
android:layout_alignEnd="@+id/textar"
android:textAlignment="center"
android:backgroundTint="#ff9eadff" />
</RelativeLayout>
java代码:
package artofdev.org.admaps;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Context context = getApplicationContext();
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialog);
Button button2 = (Button) dialog.findViewById(R.id.Suivantbtn);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog2 = new Dialog(context);
dialog2.setContentView(R.layout.dialog2);
Button button3 = (Button)
dialog2.findViewById(R.id.Suivantbtn2);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog2.dismiss();
}
});
dialog.dismiss();
dialog2.show();
}
});
dialog.show();
}
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
当这出现时我输入并点击下一步。这个对话框解散,我稍后创建的另一个消息框显示一个消息。
怎么做?
答案 0 :(得分:0)
以下是适合您的完整代码:
Context context = getAplicationContext();
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.your_dialog_layout);
Button button2 = (Button) dialog.findViewById(R.id.Suivantbtn);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog2 = new Dialog(context);
dialog2.setContentView(R.layout.your_second_dialog_layout);
Button button3 = (Button) dialog2.findViewById(R.id.Suivantbtn2);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog2.dismiss();
}
});
dialog.dismiss();
dialog2.show();
}
});
dialog.show();
}
});
希望我的回答有所帮助!
答案 1 :(得分:0)
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
//On click function
public void onClick(View view) {
//do something - for example open the dialog box you want
final Dialog dialog = new Dialog(getActivity());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_alert_dialogue);
dialog.show();
}
});
答案 2 :(得分:-1)
您应该在按钮上添加onClickListener
。例如(此代码适用于您的Activity类):
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
//On click function
public void onClick(View view) {
//do something - for example open the dialog box you want
}
});