使用标签的传感器列表中的Android动态onClick按钮

用户名

很抱歉再次询问,但我无法对传感器列表中的动态onClick按钮实施“标记”功能。

如您所见,我已经根据传感器的类型选择了按钮标签,并相应地设置了标签。但是,当我尝试计算onClick函数无效时,请向下滚动以查看它。该程序没有错误,当我按下按钮时,Toast不会显示。

我是否正确地通过get标签实现了?

public class MainActivity extends Activity implements SensorEventListener, OnClickListener  {
String tag;
TextView myTextView;    
SensorManager mySensorManager;
TextView status;
String btn = "button";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mySensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    myTextView = (TextView) findViewById(R.id.text1);

    List<Sensor> myList = mySensorManager.getSensorList(Sensor.TYPE_ALL);
    LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);


    for (int i = 1; i < myList.size(); i++) {
            myTextView.append("\n" + myList.get(i).getName());

            Button btnTag = new Button(this);
            btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            btnTag.setText(myList.get(i).getName());
            btnTag.setId(i);
            btnTag.setTag(myList.get(i).getName());
            layout.addView(btnTag);
           ((Button) findViewById(i)).setOnClickListener(this);
           // btnTag.setOnClickListener(this);
        }
     Toast.makeText(MainActivity.this, "done", Toast.LENGTH_SHORT).show();
    }
@Override
public void onClick(View v) {
     tag = (String) v.getTag(); 
if (tag == "Goldfish 3-axis Magnetic field sensor")
    {
Toast.makeText(MainActivity.this, "Button1 is Pressed", Toast.LENGTH_SHORT).show();
    }
}
西蒙

您不能将字符串与进行比较==Strings是对象,并==测试两个对象引用是否是同一对象。

您需要equals()比较字符串值。

 if ((tag.equals("Goldfish 3-axis Magnetic field sensor"))

在技​​术上(极客)的好奇心下,有时== 可能会由于字符串实习而起作用,并且在.equals()使用时可能会导致一些晦涩的错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取Android中的传感器列表

来自分类Dev

Moto 360中的传感器列表

来自分类Dev

用于记录传感器数据的 Android 按钮

来自分类Dev

如何在IBM bluemix中添加传感器标签?

来自分类Dev

如何在IBM bluemix中添加传感器标签?

来自分类Dev

在Arduino中读取传感器时按下按钮

来自分类Dev

使用android cmake添加传感器链接器

来自分类Dev

在Android中,当使用传感器收集数据时,我应该使用IntentService还是Service?

来自分类Dev

为什么在Android中缺少传感器类型3?

来自分类Dev

TYPE_SIGNIFICANT_MOTION传感器在Android中的实现

来自分类Dev

Android传感器无法在服务中运行

来自分类Dev

如何在Android中检测双击接近传感器?

来自分类Dev

Android接近传感器问题仅在Samsung设备中

来自分类Dev

ListView名称传感器Android中的错误

来自分类Dev

Android传感器registerListener在单独的线程中

来自分类Dev

如何在Android中检测双击接近传感器?

来自分类Dev

为什么在Android中缺少传感器类型3?

来自分类Dev

使用传感器数据的Android智能电源管理

来自分类Dev

如何在Unity中使用Android光传感器

来自分类Dev

如何使用Kotlin Coroutines处理Android传感器事件?

来自分类Dev

找到合适的Android传感器并使用它们

来自分类Dev

Android:使用传感器实时检测眼睛的运动

来自分类Dev

Android如何设置传感器延迟?

来自分类Dev

Android传感器和线程

来自分类Dev

Android传感器直立旋转

来自分类Dev

Android传感器和线程

来自分类Dev

Android传感器直立旋转

来自分类Dev

如何注销多个传感器的android

来自分类Dev

Android上的冗余运动传感器?