情况可能就像说,我有 5 个活动。说主要活动、活动 1、活动 2、活动 3 和活动 4。
可以借助插入在主活动布局上的按钮直接使用活动 1、2、3 和 4。
情况:用户进入主活动,按下一个按钮进入活动2。然后他回按回到主活动。从那里他现在在另一个按钮的帮助下进入活动 3,同样,当他按下后退按钮时,他进入主活动。
主要活动 --> 活动 2 --> 主要活动 --> 活动 3 --> 主要活动。
问题:现在当用户从活动 3 进入主活动时。用户在主活动布局上。现在,如果用户按下手机上的后退按钮,则退出应用程序将执行以下过程:
主要活动 --> 活动 3 --> 主要活动 --> 活动 2 --> 主要活动 --> 退出
需要完成:我想从主活动本身退出应用程序,如果用户按下手机上的后退按钮,那么我希望用户应该能够退出而不是按照上述路径退出应用程序它通过显示一个简单的 AlertDialog 框从 Main Activity 本身中获取。
这怎么可能,因为我无法找到解决此问题的方法?
android android-layout android-sdk-tools android-event android-studio
我有这三个列表具有相同数量的元素
List<String>competitoinsIDs = new LinkedList<String>();
List<String>marks = new LinkedList<String>();
List<String>numOfQuestions = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)
我想把每个列表的第一个元素放在一个tablerow中,然后将每个列表的第二个元素放在另一个tablerow中,请你帮我,这是xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableLayout
android:id="@+id/tlMarksTable"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
android:weightSum="2" >
<TextView
android:id="@+id/tvMarksCompetitionID"
android:layout_weight="1"
android:text="Competition"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvMarksMarks"
android:layout_weight="1"
android:text="Marks"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvMarksQuestionsNum"
android:layout_weight="1"
android:text="Questions"
android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>
</TableLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud) 我想实现AlertDialog.Builder所选项目点击事件.以下是我到目前为止所尝试的内容.我对Android很新,我不知道如何访问该事件.如何为列表中的每个项目实现click事件?
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
public class MakeCallAlertDialog {
public static AlertDialog.Builder getAlertDialog(String strArray[],
String strTitle, Activity activity) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
alertDialogBuilder.setTitle(strTitle);
alertDialogBuilder.setItems(strArray, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int arg) {
// TODO Auto-generated method stub
}
});
return alertDialogBuilder;
}
}
Run Code Online (Sandbox Code Playgroud) 我通过覆盖onDraw方法并将其翻转90度来制作垂直SeekBar.现在我需要将它放在ScrollView中.
实际的布局结构是
<ScrollView>
<RelativeLayout>
...
<LinearLayout>
<com.mypackage.VerticalSeekBar/>
Run Code Online (Sandbox Code Playgroud)
是否可以确保ScrollView无法获取我的搜索栏的触摸事件?
我很抱歉,如果我做了任何愚蠢的错误,但我找不到这个的来源:我试图在我的EditText"etItem"上实现一个onDrag监听器这是我的代码:
etItem.setOnDragListener(new OnDragListener(){
@Override
public boolean onDrag(View v, DragEvent dragevent) {
if(null!=dragevent && null!=v){
if( dragevent.getAction() == DragEvent.ACTION_DROP )
{
View view = (View) dragevent.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
int itemNum = (Integer) view.getTag();
itemAmounts[itemNum] = 0;
owner.removeView(view);
return true;
}
}
return false;
}});
Run Code Online (Sandbox Code Playgroud)
这在我的Samsng Galaxy Grand上工作得很好,但是在Nexus上给了我一个nullpointer.
stackTrace:
03-26 15:47:21.185: E/AndroidRuntime(1439): FATAL EXCEPTION: main
03-26 15:47:21.185: E/AndroidRuntime(1439): java.lang.NullPointerException
03-26 15:47:21.185: E/AndroidRuntime(1439): at android.widget.Editor.onDrop(Editor.java:1797)
03-26 15:47:21.185: E/AndroidRuntime(1439): at android.widget.TextView.onDragEvent(TextView.java:8350)
03-26 15:47:21.185: E/AndroidRuntime(1439): at android.view.View.dispatchDragEvent(View.java:16375)
03-26 15:47:21.185: E/AndroidRuntime(1439): at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1237) …Run Code Online (Sandbox Code Playgroud) 我有一个继承的自定义视图,LinearLayout该视图位于ViewSwitcher.我想返回上一次关于Back onPreKeyImepress的视图,所以我覆盖了这个视图但是当我按Back时,它似乎没有输入方法,并且活动处理Back.
我错过了什么?
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK)
return viewModel.backClicked();
return super.onKeyPreIme(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
我在if语句中有一个断点,它永远不会在那里冻结.
PS,我不允许使用碎片.
android keypress android-custom-view android-layout android-event
我正在尝试覆盖后退按钮以停止音频播放器并关闭媒体播放器活动,但我注意到音量按钮不再起作用。我想覆盖代码存在错误。附注。在我的MediaControllerI overridehide()方法中,始终显示控件。
mediaController = new MediaController(this)
{
@Override
public void hide() {
// TODO Auto-generated method stub
//do nothing
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (mediaPlayer != null) {
mediaPlayer.reset();
mediaPlayer.release();
mediaPlayer = null;
}
super.hide();
Activity a = (Activity)getContext();
a.finish();
}
return true;
}
};
Run Code Online (Sandbox Code Playgroud) android android-button android-mediaplayer android-event android-activity
我有imageView播放和停止,我试图实现OnClickListener.但是不处理click事件.即使我尝试在调试模式下启动应用程序,我也无法检测到点击事件.这段代码中的错误可能是什么?
public class DetailActivity extends ActionBarActivity implements
OnClickListener {
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details_activity);
try {
mp = MediaPlayer.create(this, R.raw.baabaa);
mp.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.stop:
mp.stop();
break;
case R.id.play:
mp.start();
break;
default:
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)