我正在测试一个简单的独立项目的longclick和短点击功能。我打算做的是,当我点击一个按钮/标题时,它会调用一个片段,但是当我长时间点击即使不释放我的手指,我也希望弹出窗口显示。无论我长时间点击还是短时间点击,我当前的实现都会显示弹出窗口。我只想在长时间点击而不是短暂点击时弹出窗口。另外,通过弹出式选择菜单,我想触发一个相关的片段选择选项。是否有办法做到这一点?你可以修改我现有的代码来反映吗? 谢谢! 这里是我的代码: Mainactivity.java:如何在我的按钮上同时添加适当的longclick和正常点击?
package com.example.longclick;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Button btnList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnList = (Button)this.findViewById(R.id.btnListSample);
btnList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final CharSequence[] items = {"Personal Lists", "Shared Lists"};
AlertDialog.Builder listBuilder = new AlertDialog.Builder(MainActivity.this);
listBuilder.setTitle("Manage Categories");
listBuilder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertList = listBuilder.create();
alertList.show();
}
});
}
}
和相关的XML: activity_main.xml中:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:text="Lists Header"
android:id="@+id/btnListSample"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</Button>
</LinearLayout>
得到它的工作,谢谢!只需要知道,是否有办法通过触摸弹出窗口外的方式来解除电话? –
popup.setCanceledOnTouchOutside(true); – BigT