gpt4 book ai didi

android - 玻璃 GDK : Intecept Live Card onClick

转载 作者:太空狗 更新时间:2023-10-29 13:26:59 29 4
gpt4 key购买 nike

我有一个发布一对实时卡片的 Google Glass 应用程序。当我单击这些卡片时,它会将我带到 Activity 的 UI。我想做的是拦截其中一张卡片的点击,而不是将 View 更改为 Activity 布局,我想做一些操作(导致一些后台代码运行并更新另一张实时卡片) .

我没有看到卡片的任何点击监听器。有办法做到这一点吗?

编辑:::澄清。这是我可能想尝试做的一个非常简单的例子。这不起作用,因为 LiveCards 不接受 clickListeners...

package com.example.exampleglasslivecardselection;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.Menu;
import android.widget.RemoteViews;

import com.google.android.glass.timeline.LiveCard;
import com.google.android.glass.timeline.TimelineManager;

public class MainActivity extends Activity {
LiveCard card1;
LiveCard card2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


if (card1 == null && card2 == null) {
String cardId = "card1";
TimelineManager tm = TimelineManager.from(this);

// set up card 1 and publish
card1 = tm.getLiveCard(cardId);
RemoteViews views = new RemoteViews(this.getPackageName(),
R.layout.card1_page);
Intent intent = new Intent(this, MainActivity.class);
card1.setAction(PendingIntent.getActivity(this, 0,
intent, 0));

card1.publish();


// set up card 2 and publish
card2 = tm.getLiveCard(cardId);
RemoteViews views2 = new RemoteViews(this.getPackageName(),
R.layout.card2_page);
Intent twoIntent = new Intent(this, MainActivity.class);
card2.setAction(PendingIntent.getActivity(this, 0,
intent, 0));


// set up a click listener or something...(THIS DOESN"T WORK, how would I do this?)
card2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do stuff to card 1...
card1.setViews(someNewVewis);
// TODO Auto-generated method stub

}

}
card2.publish();
}
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}



}

最佳答案

请记住,一个 Activity 不一定要有与之关联的用户界面——您可以拥有自己的 LiveCard的操作转到执行其 onCreate 中某些代码的 Activity 方法,从不调用 setContentView , 然后调用 finish结束 Activity 。这可能会为您提供所需的功能。

但是,请考虑这对用户体验的影响。实时卡片现在有两种交互方式—— bundle ,它可以让用户在点击时更深入地了解卡片滚动条(这些通常由卡片右上角的“折叠页角”表示)卡片);或点击卡片时出现的选项菜单。至少,您应该提供一个菜单,其中包含一个选项,让用户在点击卡片时将其从时间轴中移除。

关于android - 玻璃 GDK : Intecept Live Card onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445869/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com