我正在爲android和Im製作twitter客戶端,並且很難將時間線(結構)的列表片段添加到我的活動中。起初它會崩潰我的應用程序,但現在我做了一些改變,它不會崩潰,但一旦推特驗證,它加載的活動,但顯示一個空白的屏幕。下面是我的代碼...任何幫助將不勝感激。提前致謝。如何添加我的twitter結構時間表ListFragment到我在Android Studio中的活動
活動
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
/**
* Created by B on 11/24/2015.
*/
public class TweetClass extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tweet_layout_multi);
Fragment frag = new Fragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.fragment_timeline_user,frag, "Timeline Fragment");
transaction.commit();
FragmentTimeline.xml(片段佈局)
`
<TextView
android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/no_tweets"
android:gravity="center_horizontal|center_vertical"/>
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:divider="#e1e8ed"
android:dividerHeight="1dp"
android:drawSelectorOnTop="false"/>
tweet_layout_multi(activty佈局)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_timeline_user"
android:name="com.continuumwear.continuumbrowser.TimelineFragment"
tools:layout="@layout/fragment_timeline">
</RelativeLayout>
TimelineFragment(片段)
import android.app.ListFragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.twitter.sdk.android.tweetui.SearchTimeline;
import com.twitter.sdk.android.tweetui.TweetTimelineListAdapter;
public class TimelineFragment extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final SearchTimeline searchTimeline = new SearchTimeline.Builder()
.query("#twitterflock")
.build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(getActivity())
.setTimeline(searchTimeline)
.build();
setListAdapter(adapter);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_timeline, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
我修改了代碼,但它仍然在做同樣的事情,我已經有了twitter身份驗證的工作,只是在它進行身份驗證之後,它會加載一個空的屏幕,當我在列表視圖中使用時間線代碼時,我正在嘗試使用t他listfragment,所以我可以在同一屏幕上有多個時間線 – skeete
@skeete我再看看你的代碼,看看它可能是因爲你錯誤地命名了你的'ListView'。請看看上面的**編輯2 **,看看是否有幫助。 – aoemerson
@skeete話雖如此......在文檔中進一步閱讀,他們有一個使用「@ id/android:list」ID的例子!無論如何,值得一試。我會再看看你有什麼可以解決的問題。 – aoemerson