2013-10-11 35 views
0

我創建了一個基於this鏈接的可擴展列表視圖。它只是工作正常。現在,我想是Listview的子應該鏈接到另一個孩子

1)如何使一個childview鏈接另一個子子視圖

2)子子視圖應儘可能在窗口上一個新的列表視圖中打開(右側查看)here是我的預期佈局。我google搜索,但無法找到如何實現這一目標。請幫助我實現這一點。提前致謝。

+0

你能否更深入地解釋你想達到什麼目的?你想在屏幕上想象所有三個視圖嗎?或者你想爲每個你打開的子視圖創建一個新的活動? –

+0

@RobertoLombardini是我現在明確的問題嗎? – AndroidOptimist

+0

它比我想象的要複雜得多,但也比我想象的要複雜得多 –

回答

0

那麼,你想讓你的第一個孩子擴展到另一個ListView嗎?或者,也許只是打開另一個包含匹配的ListView的Activity/Fragment?

如果你想要第一個,你可以爲Childview設計一個CustomLayout,在OnClick擴展它,並將其內容更改爲特定的ListView。

否則,您只需打開另一個ListView,數據取決於第一個列表中的哪個孩子被點擊。

嗯,我正在使用一些像這樣放大ChildViews點擊顯示詳細信息。

使用一個類來包裝我的數據命名行。這些行指示它們是否可點擊,如果是,則ListView將允許點擊行。點擊將由類本身處理,使顯示的文本更長(更詳細)。並且爲了重新佈局這些項目,您需要調用notifyDataSetChanged。

@Override 
public void onClick(Context context, MyExpandableListAdapter mela) { 
    this.setBig(!isBig()); 
    mela.notifyDataSetChanged(); 
} 

所以,我會在父適配器的getView方法中處理行狀態(expanded/normal),以決定哪個childLayout我膨脹。

將looke像這樣

public View getView (args...) { 
Object data = getItem(position); 

if (data.isExpanded()) { 
    //inflate ListView Layout, create Addapter fill it.... 
} else { 
    //show some title or whatever to identify row. 
} 
} 
+0

我希望childview能夠擴展另一個列表活動,並且新活動應該位於上圖中所示的以前活動的版權位置。能否給我這個 – AndroidOptimist

+0

的一個例子用一些示例代碼更新了我的答案。完成所有工作都太多了,但是這應該讓您知道如何繼續 –

+0

感謝您的編輯。我會嘗試這個 – AndroidOptimist

0

你需要指定和處理onClick事件的ListView行項目。 然後,您會根據點擊的項目打開一個新的Activity。 新活動的參數通過意向附加項提供,新活動可以使用這些值從雲中獲取數據或處理值以顯示特定結果。

我已經多次使用CustomAdapter類來處理這種情況。

class Ocl implements OnClickListener{ 

    @Override 
    public void onClick(View v) { 
     Intent intDetail = new Intent(getActivity(), PartDetail.class);     
     intDetail.putExtra(_ID, mParts[position].getSPr());          
     intDetail.putExtra(_LOT, mParts[position].getLotID()); 
     intDetail.putExtra(_QTY, mParts[position].getQty()); 
     intDetail.putExtra(_UID, mParts[position].getPartID()); 

     startActivity(intDetail); 
    } 

} 
相關問題