簡體   English   中英

觸摸主活動中的任何地方均無法啟動活動

[英]Cannot Launch an Activity on touching anywhere in Main Activity

可以請人幫我一下嗎? 我已經為這個問題苦苦掙扎了好幾個小時。 我有一個Main and Start活動,Main是帶有大量信息(TextViews)的啟動器,一旦有人觸摸屏幕,它便應轉換為Start活動。 我發現了一些有關堆棧溢出的信息(如何在相對布局上設置onTouchListener()),但是它對我不起作用,因此每次嘗試:

    RelativeLayout layout= (RelativeLayout)findViewById(R.id.relativeLayout1);
    layout.setOnTouchListener(this);

它告訴我將“ this”強制轉換為“ OnTouchListener”,結果如下:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView display1;
TextView display2;
TextView display3;
TextView display4;
ImageView image1;
RelativeLayout layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start_screen);
    getActionBar().setTitle("AutoSMS");
    RelativeLayout layout= (RelativeLayout)findViewById(R.id.relativeLayout1);
    layout.setOnTouchListener((OnTouchListener) this);
    display1 = (TextView) findViewById(R.id.textView1);
    display2 = (TextView) findViewById(R.id.textView2);
    display3 = (TextView) findViewById(R.id.textView3);
    display4 = (TextView) findViewById(R.id.textView4);
    image1 = (ImageView) findViewById(R.id.imageView2);
    Intent openStarting = new Intent("android.intent.action.MAIN");
    startActivity(openStarting);
    }

   }

這是清單,以防萬一

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.autosms"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="15" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".Start"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.START" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".End"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.END" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

</manifest>

DDMS給了我ClassCastException,MainActivity無法轉換為ViewOnTouchListener

任何幫助將不勝感激!

您可以將整個活動實現為onTouchListener也可以在添加onTouchListener時創建一個新的onTouchListener 喜歡

公共類myActivity擴展Activity實現onTouchListener

要么

thisObject.add(new onTouchListener(){

// TODO:添加代碼

});

不需要將Activity強制轉換為onTouchListener。 如果有可能,例如,如果您有一個double並且想要將其值作為int值,則當您獲得某個值的確定值時,進行轉換。 您只需要制作一個新的onTouchListener或將您的活動變成一個活動即可,因為您沒有任何活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM