无法切换Android活动

时间:2012-06-18 04:16:21

标签: android android-activity

我不明白。有一刻它起作用了,下一次它停止工作。

主要课程:

public class QuotesDatabaseActivity extends Activity implements OnClickListener {
    TextView tvQuotes;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvQuotes = (TextView) findViewById(R.id.tvQuotes);
        tvQuotes.setOnClickListener(this);
        Intent i = new Intent(QuotesDatabaseActivity.this, QuotesMain.class);
        startActivity(i);
        //Intent startNewActivityOpen = new Intent(QuotesDatabaseActivity.this, QuotesMain.class);
        //startActivityForResult(startNewActivityOpen, 0);

    }

我的AndroidManifest。

   <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".QuotesDatabaseActivity"
            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=".QuotesMain"
            android:label="@string/app_name" >
        </activity>

就像那样简单,它不会切换屏幕。它以前做过。在logcat上也没有错误。

有任何帮助吗?

4 个答案:

答案 0 :(得分:1)

适合您的代码:

 public class QuotesDatabaseActivity extends Activity implements OnClickListener {
TextView tvQuotes;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tvQuotes = (TextView) findViewById(R.id.tvQuotes);
    tvQuotes.setOnClickListener(this);
    }

    void onClick(View v)
    {
         if(v.getId()==R.id.tvQuotes)
         {

                 Intent i = new Intent(QuotesDatabaseActivity.this, QuotesMain.class);
                 startActivity(i); 
         }
   }

答案 1 :(得分:0)

试试这种方式。我认为它对你有帮助。

tvQuotes.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent i = new Intent(QuotesDatabaseActivity.this, QuotesMain.class);
        startActivity(i);


    }
});

或在你onClick方法中编写此代码。

    public void onClick(View v) {
        if(v.getId()==R.id.tvQuotes)
{
Intent i = new Intent(QuotesDatabaseActivity.this, QuotesMain.class);
        startActivity(i);
}

    }

由于

答案 2 :(得分:0)

代替startActivity(i);,将此startActivityForResult(intent,0);

答案 3 :(得分:0)

检查是否启动了哪个活动,因为根据您的代码将调用onCreate并启动活动。当您必须通过单击任何组件启动新活动时

同时检查您是否在新活动中给出了finish()。如果您没有得到解决方案,请发布您的要求。我会尽量给出解决方案。