- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是android新手,不太懂adapter的使用?我一直在尝试制作 ContextMenu,它会在单击列表中的一个项目时弹出: 我的 Activity 是这样的,没有我为 ContextMenu 尝试过的东西,因为它很有用:
public class Proj2Activity extends Activity {
public static final String TAG = "MyActivity";
private TweetListAdapter1 twa;
private ListView myListView;
ArrayList<TweetModel> tweets;
public static double distance(float lat_a, float lng_a, float lat_b, float lng_b) {
float pk = (float) (180/3.14169);
float a1 = lat_a / pk;
float a2 = lng_a / pk;
float b1 = lat_b / pk;
float b2 = lng_b / pk;
float t1 = FloatMath.cos(a1)*FloatMath.cos(a2)*FloatMath.cos(b1)*FloatMath.cos(b2);
float t2 = FloatMath.cos(a1)*FloatMath.sin(a2)*FloatMath.cos(b1)*FloatMath.sin(b2);
float t3 = FloatMath.sin(a1)*FloatMath.sin(b1);
double tt = Math.acos(t1 + t2 + t3);
return 6366000*tt;
}
public static Location getLocation(Context ctx) {
LocationManager lm = (LocationManager) ctx
.getSystemService(Context.LOCATION_SERVICE);
List<String> providers = lm.getProviders(true);
/*
* Loop over the array backwards, and if you get an accurate location,
* then break out the loop
*/
Location l = null;
for (int i = providers.size() - 1; i >= 0; i--) {
l = lm.getLastKnownLocation(providers.get(i));
if (l != null)
break;
}
return l;
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LoadTweetsTask ltt = new LoadTweetsTask("androiddev");
ltt.execute();
final TextView text1 = (TextView) findViewById(R.id.nume);
final Button btnGo = (Button) findViewById(R.id.button1);
btnGo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String name1 = text1.getText().toString();
SharedPreferences settings = getSharedPreferences("My_Pref", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(name1, true);
editor.commit();
LoadTweetsTask ltt = new LoadTweetsTask(name1);
ltt.execute();
}
});
}
private class LoadTweetsTask extends AsyncTask<Void, Void, Void> {
ProgressDialog progressDialog;
public String name;
public LoadTweetsTask(String name) {
this.name = name;
}
@Override
protected void onPreExecute() {
tweets = new ArrayList<TweetModel>();
progressDialog = new ProgressDialog(Proj2Activity.this);
progressDialog.setMessage("Loading Tweets");
progressDialog.show();
}
@Override
protected void onPostExecute(Void result) {
progressDialog.dismiss();
TweetListAdapter1 adapter = new TweetListAdapter1(getApplicationContext(), tweets);
((ListView)findViewById(R.id.listTweets)).setAdapter(adapter);
}
@Override
protected Void doInBackground(Void... params) {
HttpClient client = new DefaultHttpClient();
String requestUrl = "http://api.twitter.com/1/statuses/user_timeline.json" + "?screen_name=" + name + "&count=200";
HttpGet request = new HttpGet(requestUrl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
String jsonResponse = client.execute(request, responseHandler);
JSONArray json = new JSONArray(jsonResponse);
//used to display 20 valid tweets from 200 tweets which have the location specified
int count = 0;
for (int i = 0; i < json.length(); i++) {
if(count <= 20){
JSONObject jsonTweet = json.getJSONObject(i);
try{
JSONObject obj = jsonTweet.getJSONObject("geo");
if(obj!=null){
Location myLocation = getLocation(getBaseContext());
double distance;
JSONArray arr = obj.getJSONArray("coordinates");
float tweetc1 = (float) arr.getDouble(0);
float tweetc2 = (float) arr.getDouble(1);
Log.d("COORDTweet",Float.toString(tweetc1)+ " " +Float.toString(tweetc2) );
float my1 = (float) 44.438254;
float my2 = (float) 26.051009;
Log.d("COORDMY",Float.toString(my1)+ " " +Float.toString(my2) );
distance = distance(tweetc1, tweetc2, my1, my2);
Log.d("Distance",Double.toString(distance));
tweets.add(new TweetModel(jsonTweet.getJSONObject("user").getString("name"), jsonTweet.getString("created_at"), jsonTweet.getString("text"),(int)distance/1000));
count++;
}
Log.d("TRY", "OK");
}catch(JSONException e){
Log.d("EXCP","NULL");
}
}
else{
break;
}
}
}
catch(ClientProtocolException e) {
Log.e(TAG, e.getMessage(), e);
}
catch (IOException e ) {
Log.e(TAG, e.getMessage(), e);
}
catch (JSONException e ) {
Log.e(TAG, e.getMessage(), e);
}
return null;
}
}
}
适配器类:
public class TweetListAdapter1 extends BaseAdapter {
Context context;
ArrayList<TweetModel> items;
public TweetListAdapter1(Context context, ArrayList<TweetModel> items) {
this.context = context;
this.items = items;
}
public int getCount() {
return items.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.list_item_tweet, parent, false);
TextView txtMessage = (TextView)rowView.findViewById(R.id.txtMessage);
TweetModel m = items.get(position);
txtMessage.setText("Name: " + m.getName() +"\n"+ "Distance :"+ m.getDistance() + " Km\n" + "Tweet: " + m.getTweet() + "\n" + "Date: " + m.getDate() + "\n");
TextView txtMessage1 = (TextView)rowView.findViewById(R.id.txtMessage1);
txtMessage1.setText("Ala bala ");
return rowView;
}
}
我想做的是打开一个包含两个操作的上下文菜单:Action1 和 Action2 ...
最佳答案
I've been trying to make ContextMenu, that will pop up to at click on a item from the list
因此您需要在您的Activity
类中实现它。
首先你需要重写onCreateContextMenu
然后重写onContextItemSelected
方法
@Override
public void onCreateContextMenu(ContextMenu cMenu, View parent, ContextMenu.ContextMenuInfo info) {
new MenuInflater(YourActivity.this).inflate(R.menu.conmenu, cMenu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.option1:
//do some work
break;
case R.id.option2:
// do some work
break;
}
...
}
你需要阅读一些教程所以Android: Context menu example
和 Context Menu | Android Developer Tutorial
关于安卓适配器和上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403734/
使用 Foundation 6.3.1,我希望在桌面上显示 Canvas 外菜单,在移动设备上显示 Accordion 菜单。例如 This is the desktop view with a co
function HideandUNhideObj(ThisObj) { var nav = document.getElementById(ThisObj).style if (nav.displ
我正在处理一个页面,该页面有一个显示“更新”的链接。当用户单击此链接时,我希望表单使用幻灯片效果并显示在链接下方。提交表单后,它会更新数据库,并且菜单会显示。 我知道这可以用 JavaScript 来
这是我的运行时创建菜单的关键部分: GtkWidget *menu, *menu_item; menu = gtk_menu_new(); menu_item = gtk_image_menu_ite
您好,我想实现一个像这样的 donut 菜单 http://dribbble.com/shots/610433-Wheel-Nav我知道有一种在 css3 中制作 donut 的简单方法。 .doug
我的应用程序中有一个菜单,当菜单打开时我会触发触觉反馈(来自 onTagGesture Action )。 然而 有时当我点击菜单打开触发器时,菜单实际上不会打开,但我仍然收到触觉反馈。我只在菜单实际
也许这是一个简单的解决方案,但我坚持了下来。 这里有我的代码 http://jsbin.com/ejomuv纯CSS菜单 我想要做的是在悬停时在下拉按钮底部设置 0px 边框半径,但仅在下拉菜单上设置
下拉列表、菜单和组合框都是非常常见的用户界面元素。用户习惯于在 native 应用程序和 Web 应用程序中看到这些元素,但它们存在一些问题。 您必须瞄准鼠标。当您将鼠标移开时,有些菜单会折叠,而有些
我有 codeigniter 背景。现在,我正在学习 Laravel。所以,我处于这种情况(示例),我正在尝试创建一个具有多个用户的 web 应用程序。用户类型 A ,他们可以访问菜单 a、菜单 b
我正在学习 JQuery 的基础知识,我的老师显示的 menu() 看起来根本不像我的。 这是我创建的菜单的 LAF: 代码: Hello Hi Welcome World
- SELECT - 上面的显示:none不起作用。我也尝试过“隐藏”,但没有成功。 如何隐藏此选择菜单? 最佳答案 换行与 或并将 id 添加到标签。 - SELECT
我使用 Jquery 创建菜单,如下所示: homeinfo2info3 Jquery 代码如下: $(document).ready(function(){ $(".prof_info1").unb
我是 C 新手,我需要为项目构建一个带有循环的菜单。我有两个问题。 1) 我想在 else 中添加一个字符,如果在主菜单中按“2”后询问某事,问题将是“你要去参加事件吗?”用户可以输入聊天“Y”或“N
大家好,过去几个小时我一直在为类(class)编写这个程序,但似乎无法解决最后两个问题。它基本上是一个略微修改的 CashRegister 类,通过菜单提供基本功能。我遇到的问题是: 1) 用户第一次
List studentInfo = new LinkedList(); int choice; boolean flag = true; Student student =
我正在使用 bootsrap 4 alpha 6 和 midnight.js 来更改导航菜单切换器的颜色。我想在它旁边插入一个文本(菜单)。捕获中的示例。对于文本切换器,我使用 fontawesome
我正在尝试使用 CSS 菜单解决菜单在 IE 6 中无法正确显示的问题 alt text http://content.screencast.com/users/Dokmanc/folders/Jin
我无法让这段代码工作 - 我想要的是当我将鼠标悬停在圆圈上时,菜单会出现,然后如果我将鼠标从圆圈或菜单上移开,它就会消失。我尝试做的任何事情都是非常错误的,例如 onmouseover 在圆圈上然后在
我有一个典型的 CSS 顶部导航,当您滑过不同的父菜单项时,它会显示一个子菜单。如何更改代码以保持显示事件子菜单。因此,如果您在该父菜单项或其子项之一的页面上,它将保持显示该子菜单,除非您将鼠标悬停在
我很亲近。我怎样才能在我的 上有 MENU 1。 fiddle显示为默认菜单选项,然后在 MENU 2 悬停时更改? 提前致谢。继续编码! :) 最佳答案 要根据您的响应完全远离 jquery 进行编
我是一名优秀的程序员,十分优秀!